Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: [PHP] cartelle

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    239

    [PHP] cartelle

    ciao ragazzi a me servirebbe sapere quale script devo usare per . . . . allora . . .praticamente devo fare una specie di modulo che mi faccia vedere solo ed esclusivamente i file .txt in una determinata cartella e quei file me li deve linkare in modo che si aprino e che li possa leggere . . . .

    grazie 1000

  2. #2
    Per avere la lista dei file basta usare la funzione readdir di cui trovi la documentazione e degli esempi qui:
    http://it2.php.net/manual/en/function.readdir.php

    basta aggiungere all'esempio che trovi nella pagina un altro if per controllare che il file sia .txt e poi modificare l'echo per aggiungere un link.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    239
    mi da questo erroe

    Warning: OpenDir: Invalid argument (errno 22) in c:\programmi\apache group\apache\htdocs\modulo renato\secondaprova.php on line 4

    cosa devo fare?ho usato questo script . . .

    <?php
    // Note that !== did not exist until 4.0.0-RC2

    if ($handle = opendir('/webserver/modulo renato/')) {
    echo "Directory handle: $handle\n";
    echo "Files:\n";

    /* This is the correct way to loop over the directory. */
    while (false !== ($file = readdir($handle))) {
    echo "$file\n";
    }

    /* This is the WRONG way to loop over the directory. */
    while ($file = readdir($handle)) {
    echo "$file\n";
    }

    closedir($handle);
    }
    ?>

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    239
    adesso ho utilizzato questo e l'ho modificato un pochettino . . . .l'unico problema è che nella cartella c'è un file .txt è solo che la pagina php non me la fa vedere . . .cosa dovrei fare?? grazie mille

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    239
    guardate ho cambiato totalmente script....


    <?

    $dir_nome = "/webserver/modulorenato/";

    $dir = opendir($dir_nome);

    $elenco_file = "<ul>";

    while ($nome_file = readdir($dir)) {
    if (($nome_file != ".") && ($nome_file != "..")) {
    $elenco_file .= "[*]$nome_file";
    }
    }

    $elenco_file .= "[/list]";

    closedir($dir);

    ?>

    <HTML>
    <HEAD>
    <TITLE>Elenco dei file nella directory</TITLE>
    </HEAD>
    <BODY>



    File in: <? echo "$dir_nome"; ?></P>

    <? echo "$elenco_file"; ?>

    </BODY>
    </HTML>

    ma purtroppo ricevo questi errori . . .

    Warning: OpenDir: Invalid argument (errno 22) in c:\programmi\apache group\apache\htdocs\modulorenato\elencofile.php on line 5

    Warning: readdir(): supplied argument is not a valid Directory resource in c:\programmi\apache group\apache\htdocs\modulorenato\elencofile.php on line 9

    Warning: closedir(): supplied argument is not a valid Directory resource in c:\programmi\apache group\apache\htdocs\modulorenato\elencofile.php on line 17


    cosa dovrei fare?? grazie mille

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    239
    Ciao,

    prova a sostituire '/webserver/modulorenato' con './'


  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    239
    ciao . . .guarda come hai detto tu funziona . . .solo che adesso come faccio a dirgli che mi deve far visualizzare solo ed esclusivamente i file .txt e che me li deve aprire come link in modo che io posso cliccarci sopra e visualizzarli??

    grazie mille

  8. #8
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Ciao, anche se non ho letto tutta la discussione ti suggerisco due alternative facili e veloci:

    codice:
    // Solo per versioni PHP 4 >= 4.3.0, PHP 5
    foreach(glob("*.txt") as $file) {
      echo "<a href=\"$file\">$file</a>
    \n";
    }
    Oppure:
    codice:
    // Un po' più versatile...
    $d = dir('.');
     while(false !== ($entry = $d->read())) { 
      if(!is_dir($entry) && end(explode('.', $entry)) == "txt")
      echo "<a href=\"$entry\">$entry</a>
    \n"; 
     } 
    $d->close();
    Entrambe le soluzioni fanno riferimento ai file (.txt) contenuti nella stessa directory in cui gira lo script...


  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    239
    grazie 1000 ma in che punto dello script lo devo mettere??? grazie mille . . .

  10. #10
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    In pratica, sia la prima che la seconda alternativa che ti ho suggerito, svolgono la stessa funzione "così" come sono scritte. Non vanno integrate al codice che hai postato precedentemente, ma dovrai trascrivere il tutto così com'è...

    Per maggiore chiarezza ti mostro un esempio completo relativo alla seconda soluzione proposta:
    codice:
    $d = dir('.');
     while(false !== ($entry = $d->read())) { 
      // Elenca "solo" i file con estensione .txt
      // if(!is_dir($entry) && end(explode('.', $entry)) == "txt")
        
      // In questo modo invece ti elenca "tutti" i file
      // contenuti nella directory in cui si trova lo script
      if(!is_dir($entry))
        echo "<a href=\"$entry\">$entry</a>
    \n"; 
     } 
    $d->close();
    Spero sia tutto chiaro adesso...


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.