Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] zapis zawartosci do osobnych plików txt
Forum PHP.pl > Forum > Przedszkole
Fargo17
  1. <?php
  2.  
  3. $nazwa_pliku = "pliki.txt";
  4. $lista = glob("*.jpg");
  5. foreach ($lista as $zawartosc)
  6. if (is_writeable($nazwa_pliku))
  7. {
  8. if ($plik = fopen($nazwa_pliku, "a"))
  9. {
  10. if (fwrite($plik, "$zawartosc\n") !== FALSE);
  11.  
  12. fclose($plik);
  13.  
  14. } else echo "Brak dostępu";
  15.  
  16. } else echo "Błąd"
  17.  
  18. ?>


Skrypt ten zapisuje mi zawartość folderu (pliki .jpg) do pliku pliki.txt. Potrzebuję jednak opcji która stworzy listę plików z takimi samymi nazwami tyle że z rozszerzeniem .txt i z zawartością od 1 w górę
blahy
po 1 nie lepiej najpierw otworzyc plik, w zrodku wywolac petle i na koncu zamknac? przy dlugiej liscie bedzie to miec znaczenie.
Sugerujac sie tytulem wnioskuje, ze chodzi o to, zeby kazdy z tych znalezionych plikow byl reprezentowany przez nowoutworzony plik o takiej samej nazwie jak plik jpg, tylko z rozszerzeniem txt a w tym pliku txt kolejne liczby calkowite?
  1. <?php
  2. $lista = glob("*.jpg");
  3.  
  4. $i=1; //licznik
  5. foreach ($lista as $zawartosc)
  6. {
  7. $nazwa = substr($zawartosc, 0, strlen($zawartosc)-4); //pobierz nazwe pliku bez rozszerzenia
  8. $plik = fopen($nazwa.'.txt', "w"); //utworz plik o takiej nazwie z roszerzeniem txt
  9. fwrite($plik, $i++); //wpisz do niego kolejna liczbe naturalna
  10. fclose($plik);
  11. }
  12. ?>
Fargo17
blahy, dzięki wielkie za pomoc, o to właśnie mi chodziło. Czy dałoby się zrobić tak by kolejne liczby całkowite były przypisywane co trzeci plik?

nazwa1.jpg -> nazwa1.txt 1
nazwa2.jpg -> nazwa2.txt 1
nazwa3.jpg -> nazwa3.txt 1
nazwa4.jpg -> nazwa4.txt 2
nazwa5.jpg -> nazwa4.txt 2
nazwa6.jpg -> nazwa4.txt 2
nazwa7.jpg -> nazwa4.txt 3
itd...
Demongod
  1. <?php
  2. $lista = glob("*.jpg");
  3. $i=1; //licznik
  4. $x=1; //licznik2
  5. foreach ($lista as $zawartosc)
  6. {
  7. $nazwa = substr($zawartosc, 0, strlen($zawartosc)-4); //pobierz nazwe pliku bez rozszerzenia
  8. $plik = fopen($nazwa.'.txt', "w"); //utworz plik o takiej nazwie z roszerzeniem txt
  9. if(($i++ % 3)==0)$x++;
  10. fwrite($plik, $x); //wpisz do niego kolejna liczbe naturalna
  11. fclose($plik);
  12. }
  13. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.