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

Discussione: perchè fa errore?!?

  1. #1

    perchè fa errore?!?

    mettiamo che io ho un file txt di 500 righe, ogni riga c'è un nome.
    voglio che quando vado a caricare la pagina php, questa deve creare e salvare 500 pagine html con il contenuto "ciao io mi chiamo x, i miei genitori hanno scelto il nome x perchè secondo loro era tanto bello. infondo x è un bel nome no?"; dove X deve esserci un nome diverso in ogni file, e questo nome deve essere scelto dall'elenco sopra. anche il file deve essere salvato come X.htm

    ho provato a scrivere questo codice ma nn funziona

    <?php
    $lista=fopen("lista.txt","r");
    $nomi=explode("\n",$lista);
    foreach($nomi as $nome) {
    $riscrivi_file=fopen("$nome.htm","w+");
    fwrite($riscrivi_file, "<html><head></head><body>ciao io sono $nome</body></html>");
    fclose($riscrivi_file);
    }
    ?>
    Visita www.MuroDigitale.Com

  2. #2
    up
    Visita www.MuroDigitale.Com

  3. #3
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    prima della explode dovresti almeno leggere tutto il contenuto del file...

    http://it2.php.net/manual/it/function.file.php
    http://it2.php.net/manual/it/functio...t-contents.php

  4. #4
    l'ho fatto...eppure nn funziona ancora...ecco il codice.

    <?php
    $apri=fopen("lista.txt","r");
    $lista=fread($apri,filesize("lista.txt"));
    $nomi=explode("\n",$lista);
    foreach($nomi as $nome);
    {
    $riscrivi_file=fopen("$nome.htm","w+");
    fwrite($riscrivi_file, "<html><head></head><body>ciao io sono $nome</body></html>");
    fclose($riscrivi_file);
    }
    ?>
    Visita www.MuroDigitale.Com

  5. #5
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    fread legge una riga, cosa dovrebbe fare la funzione explode?
    Li hai almeno cliccati i link che ti ho passato?

  6. #6
    ho rimodificato il codice. ma non funziona lo stesso...
    nel file text infatti ci sono tre nomi, uno per riga, e l'ultimo è giovanni.
    quando lancio la pagina questa mi crea sempre un file solo, ossia giovanni.htm. Gli altri due nomi che sono scritti prima nel file non li crea.
    perkè?
    eppure ho letto le pagine ke mi hai detto...sembra di aver fatto bene a me...


    <?php
    $listaurl = "lista.txt";
    $lista = file_get_contents($listaurl);
    $nomi=explode("\n",$lista);
    foreach($lista as $nome);
    {
    $riscrivi_file=fopen("$nome.htm","w+");
    fwrite($riscrivi_file, "<html><head></head><body>ciao io sono $nome</body></html>");
    fclose($riscrivi_file);
    }
    ?>
    Visita www.MuroDigitale.Com

  7. #7
    up up up
    Visita www.MuroDigitale.Com

  8. #8
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    intanto $nomi è un array, l'indice devi usarlo, poi $nomi lo fai diventare $nome, e infine se te ne crea uno soltanto significa che il ciclo è sbagliato... infatti il punto e virgola dopo il foreach non ci va se sotto ci sono altre istruzioni.

    Codice PHP:
    <?php
    $listaurl 
    "lista.txt";
    $lista file_get_contents($listaurl);
    $nomi=explode("\n",$lista);
    for(
    $i=0$i<sizeof($nomi); $i++){
       
    $riscrivi_file=fopen("$nomi[$i].htm","w+");
       
    fwrite($riscrivi_file"<html><head></head><body>ciao io sono $nome</body></html>");
       
    fclose($riscrivi_file);
    }
    ?>
    Soltanto non saprei come puoi gestire questa situazione:

    Codice PHP:
    fopen("$nomi[$i].htm","w+"); 


    forse così?

    Codice PHP:
    open($nomi[$i].".htm","w+"); 
    a me da errore...

  9. #9
    xkè dovrei aprire quel file?
    a me basta scriverlo...
    Visita www.MuroDigitale.Com

  10. #10
    scusa, ho fatto un intervento sciocco.
    comunque ho modificato il codice così...ma non va uguale. prima avevo sbagliato il contenuto dopo foreach.


    <?php
    $listaurl = "lista.txt";
    $lista = file_get_contents($listaurl);
    $nomi=explode("\n",$lista);
    foreach($nomi as $nome)
    {
    $riscrivi_file=fopen("$nome.htm","w+");
    fwrite($riscrivi_file, "<html><head></head><body>ciao io sono $nome</body></html>");
    fclose($riscrivi_file);
    }
    ?>
    Visita www.MuroDigitale.Com

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.