• User Attivo

    ma non esistono script già pronti, cosa devo cercare su internet?


  • ModSenior

    Già fatti non ne conosco...


  • User Attivo

    era per non disturbarti 🙂 però se invece ti va di aiutarmi, allora lo posso compilare con il tuo aiuto, però io di php non sono bravissimo, me la cavo un pò, ma questa cosa non riesco a farla 😞


  • ModSenior

    Mi sto confondendo con gli array ❌x:x


  • User Attivo

    ho trovato questo codice che funziona, solo che non mi mette i link ai file:

    [PHP]
    <?php
    function list_elements($dir,$out)
    {
    $file_list = '';
    $stack[] = $dir;
    while ($stack)
    {
    $current_dir = array_pop($stack);
    if ($dh = opendir($current_dir))
    {
    while (($file = readdir($dh)) !== false)
    {
    if ($file !== '.' AND $file !== '..')
    {
    $current_file = "{$current_dir}/{$file}";
    if (is_file($current_file))
    {
    $file_list[] = "{$current_dir}/{$file}";
    }
    elseif (is_dir($current_file))
    {
    $stack[] = $current_file;
    $dirs[]=$current_file; //l' array delle directory
    //echo $current_file." corrisponde ad una directory<br>"; // questa
    }
    }
    }
    }
    }
    if ($out=='file')
    return $file_list;
    if ($out=='dir')
    {
    //$dirs=array_reverse($dirs);
    return $dirs;
    }
    }

    $dirs=list_elements("../file_corsi",'dir'); // QUI gli dici che cartella vuoi leggere e ti restiuisce le directory
    $files=list_elements("../file_corsi",'file'); // QUI gli dici che cartella vuoi leggere e ti restiuisce i files

    echo "<pre>";
    print_r($dirs);
    print_r($files);

    ?>
    [/PHP]


  • ModSenior

    [php]
    <?
    // Nome della cartella
    $car = 'cartella/';

    function GetFile($car)
    {
    // Se non è un cartella esco
    if(!is_dir($car))
    return 0;

    // Opendir è la funzione per aprire la cartella
    $handle = opendir($car);

    // Ciclo la cartella
    while (false !== ($files = readdir($handle)))
    {
    // Stampo i file
    if ($files != '.' && $files != '..')
    {
    if(is_dir($car.$files))
    GetFile2($car.$files, &$vf);
    else
    $vf[] = $files;
    }

    }
    echo 'File:<br>';
    for($i=0; $i<count($vf); $i++)
    echo $vf*.'<br>';
    }

    // Richiamo La funzione
    GetFile($car);

    function GetFile2($dir, $vf)
    {
    $files1 = scandir($dir);
    for($i=0; $i<count($files1); $i++)
    if($files1* != '.' && $files1* != '..')
    $vf[] = $files1*;
    }
    ?>
    [/php]
    Unico problema riesce a prendere solo le immagini della prima sottocartella se ci sono cartelle nelle sottocartelle non prende i contenuti...


  • User Attivo

    ho provato il tuo script ma mi da questo errore:

    Fatal error: Call to undefined function: scandir() in /web/htdocs/vuvuvu.sito.it/home/corsi/file_corso_base.php on line 58


  • ModSenior

    $car = 'cartella/';

    lo hai modificato?

    EDIT manca la funzione usi php 4 perciò aspetta che ne faccio uno che funziona


  • ModSenior

    [php]
    <?
    // Nome della cartella
    $car = 'cartella/';

    function GetFile($car)
    {
    // Se non è un cartella esco
    if(!is_dir($car))
    return 0;

    // Opendir è la funzione per aprire la cartella
    $handle = opendir($car);

    // Ciclo la cartella
    while (false !== ($files = readdir($handle)))
    {
    // Stampo i file
    if ($files != '.' && $files != '..')
    {
    if(is_dir($car.$files))
    GetFile2($car.$files, &$vf);
    else
    $vf[] = $files;
    }

    }
    echo 'File:<br>';
    for($i=0; $i<count($vf); $i++)
    echo $vf*.'<br>';
    }

    // Richiamo La funzione
    GetFile($car);

    function GetFile2($dir, $vf)
    {
    // Opendir è la funzione per aprire la cartella
    $handle = opendir($dir);

    // Ciclo la cartella
    while (false !== ($files = readdir($handle)))
    if($files != '.' && $files != '..')
    $vf[] = $files;
    }
    ?>
    [/php]


  • ModSenior

    Ho fatto una modifica ora dovrebbe fuznionare in tutte le sottocartelle

    [php]
    <?
    // Nome della cartella
    $car = 'cartella/';

    function GetFile($car)
    {
    // Se non è un cartella esco
    if(!is_dir($car))
    return 0;

    // Opendir è la funzione per aprire la cartella
    $handle = opendir($car);

    // Ciclo la cartella
    while (false !== ($files = readdir($handle)))
    {
    // Stampo i file
    if ($files != '.' && $files != '..')
    {
    if(is_dir($car.$files))
    GetFile2($car.$files, &$vf);
    else
    $vf[] = $files;
    }

    }
    echo 'File:<br>';
    for($i=0; $i<count($vf); $i++)
    echo $vf*.'<br>';
    }

    // Richiamo La funzione
    GetFile($car);

    function GetFile2($dir, $vf)
    {
    // Opendir è la funzione per aprire la cartella
    $handle = opendir($dir);

    // Ciclo la cartella
    while (false !== ($files = readdir($handle)))
    if($files != '.' && $files != '..')
    if(is_dir($dir.'/'.$files))
    GetFile2($dir.'/'.$files, &$vf);
    else
    $vf[] = $files;
    }
    ?>

    Vedi se finalmente ci siamo 😄
    [/php]


  • User Attivo

    grazie funziona però i nomi dei file non hanno il link


  • ModSenior

    [php]
    <?
    // Nome della cartella
    $car = 'cartella/';

    function GetFile($car)
    {
    // Se non è un cartella esco
    if(!is_dir($car))
    return 0;

    // Opendir è la funzione per aprire la cartella
    $handle = opendir($car);

    // Ciclo la cartella
    while (false !== ($files = readdir($handle)))
    {
    // Stampo i file
    if ($files != '.' && $files != '..')
    {
    if(is_dir($car.$files))
    GetFile2($car.$files, &$vf);
    else
    $vf[] = '<a href="'.$files.'">'.$files.'</a>';
    }

    }
    echo 'File:<br>';
    for($i=0; $i<count($vf); $i++)
    echo $vf*.'<br>';
    }

    // Richiamo La funzione
    GetFile($car);

    function GetFile2($dir, $vf)
    {
    // Opendir è la funzione per aprire la cartella
    $handle = opendir($dir);

    // Ciclo la cartella
    while (false !== ($files = readdir($handle)))
    if($files != '.' && $files != '..')
    if(is_dir($dir.'/'.$files))
    GetFile2($dir.'/'.$files, &$vf);
    else
    $vf[] = '<a href="'.$dir.'/'.$files.'">'.$dir.'/'.$files.'</a>';
    }
    ?>
    [/php]


  • User Attivo

    Grazieee E' Perfettooo.

    Mio Salvatore!!!


  • ModSenior

    Prego 😉