Visualizzazione risultati 1 fino 10 di 10

Discussione: [radio.blog] Linea d'errore

  1. #1
    Guest

    Predefinito [sposta in liv.3]Linea d'errore

    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]

  2. #2
    L'avatar di seneca
    seneca non è connesso Super Moderatore
    Data registrazione
    18-12-2004
    Residenza
    la Città Eterna
    Messaggi
    8,376

    Predefinito

    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!

  3. #3
    Guest

    Predefinito

    Mi scuso per aver sbagliato sezione :)

    Mi puoi spiegare la funzione "gettracks()", grazie :)

  4. #4
    L'avatar di seneca
    seneca non è connesso Super Moderatore
    Data registrazione
    18-12-2004
    Residenza
    la Città Eterna
    Messaggi
    8,376

    Predefinito

    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!

  5. #5
    Guest

    Predefinito

    Questo e' il contenuto del file banner.php:


    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>
    Edit:
    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

  6. #6
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    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)

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da heracleum
    Curiosità.. ma l'hai creata la cartella
    "sounds"
    dentro la cartella superiore:
    /radioblog/
    Si e li ho ricontrollati comunque per l'ennesima volta (sono cotto )

    Citazione Originalmente inviato da heracleum
    Da quel che leggo dovresti avere questa situazione per farlo funzionare:
    /radioblog/banner.php
    /radioblog/sounds/functions.php
    Ed e' esattamente cosi'

    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("&","&amp;",$file));
    }
    }
    }

    closedir($dir);
    return $out;
    }


    ?>

  8. #8
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    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)

  9. #9
    Guest

    Predefinito

    Roba da non credere...giuro!!
    Sono impazzito a cercare di capire il codice, mentre era la "S" della cartella...

    Grazie!!

  10. #10
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Ok,
    presta attenzione però alle segnalazioni che ti vengono fatte dai moderatori:

    Citazione Originalmente inviato da heracleum
    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.
    Questo era per il primo lungo codice che avevi postato senza usare gli appositi TAG..

    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)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •