Navigazione

    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