Navigazione

  • CATEGORIES
  • Discussioni
  • Non letti
  • Recenti
  • Hashtags
  • Popolare
  • Utenti
  • Registrati
  • Accedi
Privacy - Termini e condizioni
© 2020 Search On Media Group S.r.l.
  • Registrati
  • Accedi
  • CATEGORIES
  • Discussioni
  • Non letti
  • Recenti
  • Hashtags
  • Popolare
  • Utenti
  • Stream
  • Interest
  • Categories
  1. Home
  2. Categorie
  3. Coding e Sistemistica
  4. Coding
  5. Errore con fopen e foreach
Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
  • I
    ivan88 Moderatore • 3 dic 2010, 23:00 ultima modifica di

    Errore con fopen e foreach

    Ciao a tutti,
    vorrei avere tante pagine quante sono le province italiane per il mio sito.
    Siccome non voglio stare a crearle una per una volevo aiutarmi col fopen di php usando questa funzione:
    [php]foreach ($Italiaprov as $p) {
    $myFile = "city/'.$p.'.php";
    $fh = fopen($myFile, 'w') or die("can't open file");

    $stringData = 'Qui metto il testo';

    fwrite($fh, $stringData);

    fclose($fh);
    }[/php]Senza il ciclo foreach funziona perfettamente.
    Ma aggiungendo il ciclo perde efficacia ed è come se non facesse nulla

    Dove Sbaglio? Perchè non funziona?

    0 Miglior Risposta Ringrazia Cita Rispondi

      1 Risposta Ultima Risposta
      Caricamento altri post
      Rispondi
      • Topic risposta
      Effettua l'accesso per rispondere
      • Da Vecchi a Nuovi
      • Da Nuovi a Vecchi
      • Più Voti
       

    • C
      codencode User Attivo • 4 dic 2010, 08:36 ultima modifica di

      Ciao, sei sicuro che $Italiaprov è valorizzato? se provi a fare print_r($Italiaprov) cosa ti stampa?

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • N
        noice User • 4 dic 2010, 09:09 ultima modifica di

        l'ho provato e funziona, assicurati come ha detto codencode che l'array sia pieno.
        [PHP]if(!empty($Italiaprov)){
        foreach ($Italiaprov as $p) {
        $myFile = "city/".$p.".php";
        $fh = fopen($myFile, 'w') or die("can't open file");

        $stringData = 'Qui metto il testo';

        fwrite($fh, $stringData);

        fclose($fh);
        }

        }else {echo "empty array";}[/PHP]

        Inoltre io metterei
        [PHP]$myFile = "city/".$p.".php";
        [/PHP]altrimenti ti salva i nomi delle cartelle 'nome_cartella'.php

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • I
          ivan88 Moderatore • 5 dic 2010, 14:53 ultima modifica di

          L' array è pieno, lo vedo anche col print_r($Italiaprov)

          Ma il risultato anche cambiando virgolette non cambia. 😞

          noice non ho capito il tuo ultimo intervento:

          Inoltre io metterei
          $myFile = "city/".$p.".php";
          altrimenti ti salva i nomi delle cartelle 'nome_cartella'.php Inoltre io metterei
          Codice PHP:
          [LEFT]$myFile = "city/".$p.".php";
          [/LEFT]

          altrimenti ti salva i nomi delle cartelle 'nome_cartella'.php 04-12-10 11:36

          Quella parte è già nel codice, forse volevi scriver qualcos' altro?

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • T
            thedarkita ModSenior • 5 dic 2010, 15:52 ultima modifica di

            Quello che intende noice è che utilizzi gli apici errati, e non prende il valore della variabile p, bensì viene interpretato proprio come testo.

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • I
              ivan88 Moderatore • 5 dic 2010, 17:13 ultima modifica di

              Ah si ho capito devo usare questi " e non questi ' come già scritto nelle loro correzioni.

              ....però non funziona lo stesso...:(

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • N
                noice User • 5 dic 2010, 20:37 ultima modifica di

                Ciao Ivan,
                puoi postare l'output di print_r($Italiaprov) ? (Se e' troppo lungo anche solo una parte).

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • I
                  ivan88 Moderatore • 5 dic 2010, 21:44 ultima modifica di

                  ecco qui il risultato del print:

                  Array ( [0] => Roma [1] => Milano [2] => Firenze [3] => Bologna [4] => Napoli [5] => Lecce [6] => Savona [7] => Venezia [8] => Reggio [9] => Genova )

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • N
                    noice User • 6 dic 2010, 00:23 ultima modifica di

                    Ho provato anche con l'array da te postato e funziona..
                    prova a creare un nuovo file separato dal progetto che stai facendo e inserisci
                    [PHP]<?php

                    $Italiaprov = array( "Roma", "Milano", "Firenze", "Bologna", "Napoli",
                    "Lecce", "Savona", "Venezia","Reggio","Genova" );

                    if(!empty($Italiaprov)){
                    foreach ($Italiaprov as $p) {
                    $myFile = $p.".php";
                    $fh = fopen($myFile, 'w') or die("can't open file");

                    $stringData = 'Qui metto il testo';

                    if(fwrite($fh, $stringData)){
                    echo "funziona<br />";
                    }

                    fclose($fh);

                    }

                    }else {echo "empty array";}

                    ?>[/PHP]
                    e prova ad eseguirlo, se ti funziona l'errore non e' in questo pezzo di codice

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • I
                      ivan88 Moderatore • 6 dic 2010, 00:46 ultima modifica di

                      Funzionava già dall' inizio allora!
                      Scusate spesso capita di perdersi nei dettagli

                      Grazie a tutti dell' aiuto.

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      Caricamento altri post
                      Rispondi
                      • Topic risposta
                      Effettua l'accesso per rispondere
                      • Da Vecchi a Nuovi
                      • Da Nuovi a Vecchi
                      • Più Voti