Visualizzazione dei risultati da 1 a 7 su 7

Discussione: problema con fputs

  1. #1

    problema con fputs

    Ho varie directory che contengono vari file, mi specifico la directory con 'cartella' e poi devo creare una pagina html che contiene oltre al codice html anche l'elenco dei vari file dentro alla directory specificata ma il problema è che mi restituisce solo l'ultimo file presente nella directory e non tutti. Qualcuno sa perchè? comunque questo è il codice:


    <?
    $cartella = $_POST['cartella'] ;
    $folder = opendir($cartella) ;
    while ($file = readdir($folder)) {
    $array_file[] = $file;
    }
    foreach ($array_file as $file) {
    echo "<tr><td><center>";
    if ( $file == ".." || $file == ".") {
    continue;
    }

    echo "$file";
    echo "</tr></td></center>";
    }
    $f = fopen("$cartella.html","w+");
    fputs($f,' \\qui ho il codice html della pagina da creare ma ci voglio mettere anche i file contenuti nella directory specificata, ho provato con '.$file.' ma mi restituisce solo l'ultimo file e non tutti quelli contenuti nella directory\\');
    fclose($f);
    ?>

  2. #2
    prova scrivendo DA DENTRO il foreach

  3. #3
    già provato ma mi da lo stesso problema

  4. #4
    fopen però deve stare prima del foreach...

  5. #5
    Intendi questo?
    <?
    $cartella = $_POST['cartella'] ;
    $f = fopen("$cartella.html","w+");
    fputs($f,' \\codice html\\$folder = opendir($cartella) ;
    while ($file = readdir($folder)) {
    $array_file[] = $file;
    }
    foreach ($array_file as $file) {
    echo "<tr><td><center>";
    if ( $file == ".." || $file == ".") {
    continue;
    }

    echo "$file";
    echo "</tr></td></center>";
    }
    ');
    fclose($f);
    ?>

    non funziona neanche così

  6. #6
    no, prova questo:

    codice:
    <? 
    $cartella = $_POST['cartella'] ; 
    $f = fopen("$cartella.html","w+"); 
    $folder = opendir($cartella);
    while ($file = readdir($folder)) { 
    $array_file[] = $file; 
    }
    foreach ($array_file as $file) { 
    echo "<tr><td><center>"; 
    if ( $file == ".." || $file == ".") { 
    fputs($f, readfile($file));
    } 
    
    echo "$file"; 
    echo "</tr></td></center>"; 
    } 
     
    fclose($f); 
    ?>

  7. #7
    no così non funziona, comunque questi due codici funzionano perfettamente:

    1-per creare la pagina:

    $cartella = $_POST['cartella'] ;
    $f = fopen("$cartella/$nomefile.html","w+");
    fputs($f,'codice html');
    fclose($f);

    2-per visualizzare il contenuto della directory:

    $cartella = $_POST['cartella'] ;
    $folder = opendir($cartella) ;
    while ($file = readdir($folder)) {
    $array_file[] = $file;
    }
    foreach ($array_file as $file) {
    echo "<tr><td><center>";
    if ( $file == ".." || $file == ".") {
    continue;
    }

    echo "$file";
    echo "</tr></td></center>";
    }

    Il problema è che io vorrei mettere lo script 2 che da solo funziona perfettamente all'interno del codice html dello script 1...e quando lo faccio mi stampa solo l'ultimo file della directory...credo che nel ciclo mi sovrascriva di continuo i vari file e quindi alla fine mi da solo l'ultimo ma ripeto, se lo script 2 lo faccio girare da solo non ci sono problemi

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.