Visualizzazione risultati 1 fino 9 di 9

Discussione: File_get_contents + array

  1. #1
    Guest

    Predefinito File_get_contents + array

    Buongiorno, lo script incriminato è il seguente

    Codice PHP:
    <?
    $file
    = $_GET['file'];
    $array = file("db/menu.txt");
    //Apro l'articolo
    print("Titolo: $array[$file] <br>");
    $a = file_get_contents("db/$array[$file].txt");
    print(
    "articolo: $a");
    ?>
    Dove nel file menu.txt c'è scritto

    Codice:
    Pippo è caduto
    ciao a tutti
    ciao ciao
    $a mi risulta vuoto, invece dovrebbe risultare come il contenuto del suo rispettivo file...
    è un incompatibilità con gli array?
    Visto che ho messo un array in un file_get_contents...


    P.S Via get arriva un numero corrispondente ad una riga dell array (quindi del file menu.txt)
    Ultima modifica di guglio : 30-01-2008 alle ore 23.13.48

  2. #2
    Ospite Guest

    Predefinito

    Non riesco a capire questo:

    Codice PHP:
    file_get_contents("db/$array[$file].txt");
    Cioè, il file del quale vuoi estrarre il contenuto come si dovrebbe chiamare?

    Perchè da quella riga sembrerebbe tu voglia aprire file con nomi come:

    db/Pippo è caduto.txt
    db/ciao a tutti.txt
    db/ciao ciao.txt

    E' questo ciò che hai intenzione di fare?



    Comunque, piazza l'onnipresente ERROR_REPORTING(E_ALL); ad inizio script e, come al solito, fai un po di debugging ;)

    Ciao!

  3. #3
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    in una stringa " ... ", nomi di variabile complessi (array, oggetti, etc.) vanno messi fra parentesi graffe, quindi:
    Codice PHP:
    print("Titolo: {$array[$file]} <br>");
    $a = file_get_contents("db/{$array[$file]}.txt");
    e via così.

  4. #4
    Guest

    Predefinito

    Oppure:
    Codice PHP:
    print("Titolo: ".$array[$file]." <br>");
    $a = file_get_contents("db/".$array[$file].".txt");
    Che è valido anche quando si usano i single quote (apostrofi), ed in quel caso si devono usare per forza anche per le variabili "semplici".


    Ciao!

  5. #5
    Guest

    Predefinito

    Si probid, deve aprire il file: Comunque il debug è il seguente:

    Titolo: Pippoa

    Warning: file_get_contents() [function.file-get-contents]: Unable to access db/Pippoa .txt in /membri/guglio/cms/leggi.php on line 7

    Warning: file_get_contents(db/Pippoa .txt) [function.file-get-contents]: failed to open stream: No such file or directory in /membri/guglio/cms/leggi.php on line 7
    articolo:
    C'è uno spazio fra Pippoa e .txt ma nel file menu.txt non c'è!

  6. #6
    Ospite Guest

    Predefinito

    C'è uno spazio fra Pippoa e .txt ma nel file menu.txt non c'è!
    trim().
    Applica la funzione a $array[$file].
    Ciao!

  7. #7
    Guest

    Predefinito

    Maledetto Scripttt!! Lo spazio rimanee!! aaaaahhhhh!!!!!!!

    Codice PHP:
    <?
    ERROR_REPORTING
    (E_ALL);
    $file = $_GET['file'];
    $array = file("db/menu.txt");
    //Apro l'articolo
    print("Titolo: ".$array[$file]." <br>");
    $txt = $array[$file].".txt";
    $tzt = trim($txt, "0x20");//Ho anche provato a scrivere $txt, " " ma è =

    $a = file_get_contents("db/$tzt");
    print(
    "articolo: $a");
    ?>
    Risultato debug:
    Titolo: Pippoa

    Warning: file_get_contents() [function.file-get-contents]: Unable to access db/Pippoa .txt in /membri/phpbbhost/cms/leggi.php on line 10

    Warning: file_get_contents(db/Pippoa .txt) [function.file-get-contents]: failed to open stream: No such file or directory in /membri/phpbbhost/cms/leggi.php on line 10
    articolo:
    Ultima modifica di guglio : 31-01-2008 alle ore 20.17.29

  8. #8
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    beh, stai facendo trim() nel momento sbagliato: dopo aver aggiunto ".txt" !!

    "pippoa " -> "pippoa .txt" -> trim non trova niente da togliere
    "pippoa " -> trim -> "pippoa" -> "pippoa.txt"

    Codice PHP:
    $txt = trim($array[$file]) . ".txt";

  9. #9
    Guest

    Predefinito

    Alleluja!!! Funzionaaa!!!
    Grazie a tutti! :-)

Regole di scrittura

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