Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 29
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    412

    Domanda banale sul PHP, che risultato dovrebbe darmi questo codice?

    Salve
    ho copiato da internet questo codice e salvato in un file con estensione PHP

    Codice PHP:
    <?php



    // declare the folder

    $ourDir "/home/public_html/folderName";



    // prepare to read directory contents

    $ourDirList = @opendir($ourDir);



    // loop through the items

    while ($ourItem readdir($ourDirList))

    {

       
    // check if it is a directory

       
    if (is_dir($ourItem))

       {

          echo 
    "directory: $ourItem 
    "
    ;

       }

       
    // check to see if it is a file

       
    if (is_file($ourItem))

       {

          echo 
    "file: $ourItem 
    "
    ;

       }

    }



    closedir($ourDirList);



    ?>
    Poi ho scaricato il programma EasyPHP, copiato il file .php nella cartella www e lanciato il Local Web.. Seleziono il codice php da eseguire ma mi restituisce una semplice pagina bianca

    Vorrei capire, sto script dovrebbe quantomeno visualizzarmi i risultati, ovvero la lista dei file e cartelle (ergo la pagina bianca è dovuta a qualche errore di configurazione), oppure è normale che non mi visualizzi alcunchè?

  2. #2
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    ipotizziamo che il tuo file si trovi nella root di easyphp e che vuoi elencare il contenuto di una cartella "miaCartella"
    devi editare la riga $ourDir = "/home/public_html/folderName";
    in $ourDir = "/miaCartella";

    If you think your users are idiots, only idiots will use it. DropBox

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    412
    Originariamente inviato da homerbit
    ipotizziamo che il tuo file si trovi nella root di easyphp e che vuoi elencare il contenuto di una cartella "miaCartella"
    devi editare la riga $ourDir = "/home/public_html/folderName";
    in $ourDir = "/miaCartella";

    Quale file intendi? Il .php o quello che devo cercare?
    Ad ogni modo il .php si trova nella sottocartella di easyphp, quindi semplificando le cose, se volessi elencare tutti i file contenuti semplicemente nel percoro C:\, mi batsa scrivere
    $ourDir = "C:\";

    giusto?
    Eppure in tal modo mi dà un errore alla riga 29
    Parse error: syntax error, unexpected T_STRING in C:\Program Files (x86)\EasyPHP\www\recuperarelistafolderefile.php on line 29

  4. #4
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    intendo il file .php che hai appena creato per elencare il contenuto direttorio!
    quindi
    www/tuofile.php/miaCartella
    tuofile.php leggerà il contenuto d miaCartella
    If you think your users are idiots, only idiots will use it. DropBox

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    412
    Originariamente inviato da homerbit
    intendo il file .php che hai appena creato per elencare il contenuto direttorio!
    quindi
    www/tuofile.php/miaCartella
    tuofile.php leggerà il contenuto d miaCartella
    si ma io necessito di leggere il contenuto di C:\
    si può fare?

    edit: comunque ho provato a creare miaCartella prendendo l'esempio che mi hai fatto, e mi da questo errore quando lo eseguo

    Warning: readdir() expects parameter 1 to be resource, boolean given in C:\Program Files (x86)\EasyPHP\www\recuperarelistafolderefile.php on line 19

    Warning: closedir() expects parameter 1 to be resource, boolean given in C:\Program Files (x86)\EasyPHP\www\recuperarelistafolderefile.php on line 47

  6. #6
    No, php non può leggere in cartelle superiori alla sua. In pratica PHP può leggere tutto ciò che si trova nella cartella www e sottocartelle, ma non in quelle superiori a www.

    A patto di non utilizzare comandi di sistema tramite PHP, nel caso li usi si potrebbe anche fare, ma non posso aiutarti perchè non ho la minima idea di come si faccia.

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    412
    Originariamente inviato da sir daniel
    No, php non può leggere in cartelle superiori alla sua. In pratica PHP può leggere tutto ciò che si trova nella cartella www e sottocartelle, ma non in quelle superiori a www.

    A patto di non utilizzare comandi di sistema tramite PHP, nel caso li usi si potrebbe anche fare, ma non posso aiutarti perchè non ho la minima idea di come si faccia.
    ok, allora alla luce di tutto ciò ho creato una cartella dentro alla cartella www.

    La cartella si chiama /miaCartella, dunque ecco il codice
    Codice PHP:
    <?php

    // declare the folder

    $ourDir "/miaCartella";

    // prepare to read directory contents

    $ourDirList = @opendir($ourDir);

    // loop through the items

    while ($ourItem readdir($ourDirList))

    {

       
    // check if it is a directory

       
    if (is_dir($ourItem))

       {

          echo 
    "directory: $ourItem 
    "
    ;

       }

       
    // check to see if it is a file

       
    if (is_file($ourItem))

       {

          echo 
    "file: $ourItem 
    "
    ;

       }

    }

    closedir($ourDirList);

    ?>
    e quando lo lancio (sempre tramite EasyPHP) ecco l'errore che mi da:
    Warning: readdir() expects parameter 1 to be resource, boolean given in C:\Program Files (x86)\EasyPHP\www\recuperarelistafolderefile.php on line 13

    Warning: closedir() expects parameter 1 to be resource, boolean given in C:\Program Files (x86)\EasyPHP\www\recuperarelistafolderefile.php on line 39

  8. #8
    togli la @ avanti a opendir().

    Comunque molto molto molto probabilmente non riesce ad aprire la cartella.

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    412
    Originariamente inviato da sir daniel
    togli la @ avanti a opendir().

    Comunque molto molto molto probabilmente non riesce ad aprire la cartella.
    Ho risolto per metà.. innanzitutto ho messo il path per intero:
    $ourDir = "C:\Program Files (x86)\EasyPHP\www\miaCartella";

    poi la chiocciola avanti l'openddir() c'è o non c'è il risultato è lo stesso.

    Ad ogni modo il risultato non è quello che speravo!
    In miaCartella ci sono dei file .jpg di cui dovrebbe segnalarmi il nome.. ed invece quando eseguo il codice il risultato è:
    directory: .
    directory: ..



  10. #10
    usa scandir() al posto di readdir().

    La @ avanti alle funzioni fa si che quella funzioni non mostri nessun errore nel caso si presenti.
    opendir(), nel caso ci fosse un errore, restituisce false (un valore booleano). E a te lo faceva.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.