Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Jak utworzyć pliki pobierając nazwy z tablicy
farben
post 14.01.2018, 03:41:16
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 14.01.2018

Ostrzeżenie: (0%)
-----


Witam,

próbuję sklecić prosty skrypt który będzie mi pobierał dane z pliku tekstowego zawierającego dane w oddzielnych linijkach (228) a dodatkowo dane w tej samej linijce odseparowane znakiem "|".

aaaaaa|bbbbbb|cccccccc|ddddddd|nazwa

Wszystko wygląda dobrze, tzn tablica pobiera sobie dane i ładnie się wyświetla ale kiedy dodaję linijkę tworzenia pliku pętla tworzy mi tylko 1 plik z nazwą z ostatniej linijki danych wejściowych jak poniżej:

  1. <?php
  2.  
  3. $plik = file_get_contents("dane.txt");
  4.  
  5. $plik = explode("\n", $plik);
  6.  
  7. for($i=0; $i<count($plik); ++$i) {
  8. $out[$i] = explode("|", $plik[$i]);
  9. file_put_contents($out[$i][4], $out[$i][4]);
  10. }
  11.  
  12. echo "<pre>";
  13. print_r($out);
  14. echo "</pre>";
  15.  
  16. ?>


Dlaczego pętla nie tworzy mi każdego pliku?

Z góry dziękuję za naprowadzenie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Evinek
post 14.01.2018, 16:09:11
Post #2





Grupa: Zarejestrowani
Postów: 280
Pomógł: 46
Dołączył: 23.03.2010

Ostrzeżenie: (0%)
-----


Tylko ten skrypt uruchamiasz? Mi działa poprawnie nie licząc błędu, który łatwo poprawić (dodać np. trim).
Tworzy poprawnie pliki (nazwa, nazwa2, nazwa3) z prawidłową zawartością.
Spróbuj dać dane, które ja dałem i sprawdź czy działa poprawnie (umieść moje dane wejściowe do swojego pliku).
Jeśli zadziała to oznacza, że Twój plik jest niepoprawny przez co skrypt nie działa poprawnie.

Dane wejściowe:

Kod
aaaaaa|bbbbbb|cccccccc|ddddddd|nazwa
aaaaaa|bbbbbb|cccccccc|ddddddd|nazwa2
aaaaaa|bbbbbb|cccccccc|ddddddd|nazwa3


Kod
PHP Notice:  Undefined offset: 4 in /home/sphere/tmp/test.php on line 9
PHP Notice:  Undefined offset: 4 in /home/sphere/tmp/test.php on line 9
PHP Warning:  file_put_contents(): Filename cannot be empty in /home/sphere/tmp/test.php on line 9
<pre>Array
(
    [0] => Array
        (
            [0] => aaaaaa
            [1] => bbbbbb
            [2] => cccccccc
            [3] => ddddddd
            [4] => nazwa
        )

    [1] => Array
        (
            [0] => aaaaaa
            [1] => bbbbbb
            [2] => cccccccc
            [3] => ddddddd
            [4] => nazwa2
        )

    [2] => Array
        (
            [0] => aaaaaa
            [1] => bbbbbb
            [2] => cccccccc
            [3] => ddddddd
            [4] => nazwa3
        )

    [3] => Array
        (
            [0] =>
        )

)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 22:05