Salve a tutti.
Riscontro il seguente errore:
Fatal error: Call to undefined function: gettracks() in /membri/riker/radioblog/banner.php on line 7
Qualcuno ha idea del motivo?
Grazie :D
Salve a tutti.
Riscontro il seguente errore:
Fatal error: Call to undefined function: gettracks() in /membri/riker/radioblog/banner.php on line 7
Qualcuno ha idea del motivo?
Grazie :D
Ultima modifica di Riker : 09-01-2006 alle ore 03.37.47 Motivo: [sposta in liv.3]
anzitutto credo che tu abbia sbagliato sezione: qui devi postare problemi indipendenti da te, che riguardano anomalie del servizio offerto da AV.
il messaggio significa che stai richiamando nel file banner.php la funzione gettracks() che non hai precedentemente definito.
-- Aut Roma Aut Nihil!
- --> Progetto Wallpaper: centinaia di sfondi free (simpsons, dragonball, animali, sport, arte...)
- --> Versioni latine e storia romana: COMING SOON!
- --> Sono disponibile per scambio banner 88*31, no siti in costruzione
Mi scuso per aver sbagliato sezione :)
Mi puoi spiegare la funzione "gettracks()", grazie :)
ho controllato, non essendo sicuro, sul manuale ufficiale online del php: non esiste una funzione gettracks fornita nelle librerie. è una funzione che hai implementato tu, giusto?
mi devi fornire più informazioni se vuoi essere aiutato...
-- Aut Roma Aut Nihil!
- --> Progetto Wallpaper: centinaia di sfondi free (simpsons, dragonball, animali, sport, arte...)
- --> Versioni latine e storia romana: COMING SOON!
- --> Sono disponibile per scambio banner 88*31, no siti in costruzione
Questo e' il contenuto del file banner.php:
Edit:Codice PHP:
<?
$soundPath = 'sounds/';
$rbsExt = '.rbs';
$rbsPath = dirname(__FILE__).'/'.$soundPath;
include($soundPath."functions.php");
$tracks = getTracks($rbsPath,$rbsExt);
function getstr($str,$char) {
$arrStr = explode($char,$str);
$nbStr = count($arrStr);
if ($nbStr > 1) $returnStr = $arrStr[$nbStr-2];
if ($nbStr == 1)$returnStr = $arrStr[0];
return $returnStr;
}
function clearString($string,$replace) {
$allowedChar = 'abcdefghijklmnopqrstuvwxyz0123456789*"';
$strlenght = strlen($string);
for ($i=0; $i<$strlenght; $i++) {
if (strpos($allowedChar, $string[$i]) === false) {
$clear .= $replace;
}
else {
$clear .= $string[$i];
}
}
return $clear;
}
function getArtist($trackName) {
$artist = getstr($trackName,'_');
$artist = getstr($trackName,'-');
$artist = trim($artist);
return $artist;
}
$artists = array();
if (count($tracks) > 0) {
foreach ($tracks as $trackName) {
$trackName = substr($trackName,0,strrpos($trackName,'.'));
$artistName = getArtist($trackName);
if (!in_array($artistName,$artists)) $artists[] = $artistName;
}
}
?>
<script type="text/javascript" src="banner.js"></script>
<div id="banner">
<a href="javascript:void(window.open('http://www.radioblogclub.com/?ref='+document.URL));"><img src="radioblog_80_15.gif" width="80" height="15" alt="radio.blog.club" /></a>
<form action="none">
<div class="selectMask">
<select onchange="return submitThis(this);">
<option value="">Radio.blog Search:</option>
<?
if (count($artists) > 0) {
asort($artists);
foreach ($artists as $artist) {
echo '<option value="'.clearString(strtolower($artist),"_").'">'.ucfirst($artist)."</option>\n";
}
}
?>
</select>
</div>
</form>
<noscript>
<div>
<?
if (count($artists) > 0) {
asort($artists);
foreach ($artists as $artist) {
echo '<a href="http://www.radioblogclub.com/search/0/'.clearString(strtolower($artist),"_").'">'.ucfirst($artist).'</a> ';
}
}
?>
</div>
</noscript>
</div>
usa i tags [PHP][/PHP] oppure usa la funzione apposita nella barra degli strumenti di edit del post.
Ultima modifica di heracleum : 09-01-2006 alle ore 04.01.38
Non saprei, però è curioso che cercando con google:
"banner.php" "gettracks"
Escono fuori pagine e pagine di link a siti con Radio Blog che se ci vai funzionano.. ma a Google -lo si nota dalla descrizione- evidentemente non piace qualcosa.. o viceversa l'accesso di google non fa funzionare lo script come dovuto..
forse hai i cookie disattivati o cose del genere?
Poi,
Visto che sei nuovo, non fa niente.. però la prossima volta quando posti uno script PHP -soprattutto se così lungo!- sei pregato di metterlo tra i tags:
[PHP]..codice..[/PHP]
stavolta lo faccio io.
ciao
Edit: sposto in livello 4, per il liv. 3 non ci sono molti dettagli utili per una soluzione php ma bisognerebbe conoscere lo script "preconfezionato".
EDIT:
Curiosità.. ma l'hai creata la cartella
"sounds"
dentro la cartella superiore:
/radioblog/
?
Perché è là che lo script va a cercare (includere) il file functions.php che evidentemente NON TROVA, e di conseguenza neanche la funzione gettracks.. controlla meglio la struttura di cartelle e dove hai messo functions.php
Poi dicci come/dove stanno messi questi files
Da quel che leggo dovresti avere questa situazione per farlo funzionare:
/radioblog/banner.php
/radioblog/sounds/functions.php
Ultima modifica di heracleum : 09-01-2006 alle ore 04.34.20
Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)
Si e li ho ricontrollati comunque per l'ennesima volta (sono cotto )Originalmente inviato da heracleum
Ed e' esattamente cosi'Originalmente inviato da heracleum
Questo di seguito e' il contenuto del file function.php:
<?
function webPath() {
$webPath = 'http://'.getenv('HTTP_HOST').str_replace(basename(getenv( 'REQUEST_URI')), '',getenv('REQUEST_URI') );
return $webPath;
}
function getTracks($path, $ext) {
$out = array();
if ($dir = opendir($path)) {
while (false !== ($file = readdir($dir))) {
if ( strrchr($file,'.') == $ext) {
$last_mod = filemtime($path.'/'.$file);
while ( isset($out[$last_mod]) ) {
$last_mod++;
}
$out[$last_mod] = utf8_encode(str_replace("&","&",$file));
}
}
}
closedir($dir);
return $out;
}
?>
Mah, Non è così perché se vai a:
http://riker.altervista.org/radioblo.../functions.php
Altervista dà errore 404 (risorsa non trovata)
e questo dunque mi fa pensare che non ci sia il file a quel percorso controlla magari domani a mente fresca..
magari controlla minuscole e maiuscole, qui su AV è differente non come su windows del tuo pc...
ECCO infatti!
ho provato a scrivere Sounds con la S maiuscola e l'ha trovata!
http://riker.altervista.org/radioblo.../functions.php
rinomina la cartella "Sounds" in "sounds" e vedi che funziona
Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)
Roba da non credere...giuro!!
Sono impazzito a cercare di capire il codice, mentre era la "S" della cartella...
Grazie!!
Ok,
presta attenzione però alle segnalazioni che ti vengono fatte dai moderatori:
Questo era per il primo lungo codice che avevi postato senza usare gli appositi TAG..Originalmente inviato da heracleum
poi al messaggio dopo hai commesso nuovamente lo stesso errore, come se nulla fosse..
Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)