Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skrypt tworzacy plik o 1 wiekszy, Plik txt o jeden wikszy(1.txt ->>)
-Korpek-
post
Post #1





Goście







Witam!
Zdecydowalem, ze napisze tutaj, bo mecze sie z tym skryptem juz 2 dzien i nic mi nie wychodzi.
Potrzenuje skryptu, ktory najpierw tworzy plik 1.txt(albo sam go moge recznie utworzyc), a potem jesli znajdzie 1.txt to tworzy 2.txt, jesli znajdzie 2.txt to tworzy 3.txt... i tak dalej w nieskonczonosc...
Chcilabym tez skrypt ktory odczytuje liczbe i wyswietla o 1 wieksza(cos jak licznik)
Z gory dziekuje, pozdrawim, i prosze o wyrozumialosc
(IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
-Korpek-
post
Post #2





Goście







Potrzebowalbym skryptu, ktory jezeli znajdzie plik 1.txt to tworzy 2.txt i zapisuje do niego dane... tak samo potem
(Nie edytowalem poprzedniego postu, bo nie jestem zalogowany (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) )
Go to the top of the page
+Quote Post
zbig13
post
Post #3





Grupa: Zarejestrowani
Postów: 214
Pomógł: 0
Dołączył: 3.04.2004
Skąd: Legionowo

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


Słyszałeś może o pętli for" title="Zobacz w manualu php" target="_manual ?

  1. <?php
  2.  
  3. $liczba = 20; // Liczba plików, które mają zostać utworzone.
  4.  
  5. for ($i=1; $i<=$liczba; $i++) {
  6.  
  7. $nazwa = $i . ".txt"; // Nazwa pliku.
  8.  
  9. if (!file_exists($nazwa)) {
  10. $plik = fopen($nazwa, "w");
  11. $dane = "Dane do zapisu w pliku";
  12. fputs ($plik, $dane);
  13. fclose ($plik);
  14. }
  15.  
  16. }
  17.  
  18. ?>


Cytat
Chcilabym tez skrypt ktory odczytuje liczbe i wyswietla o 1 wieksza(cos jak licznik)

A co za problem?
  1. <?php
  2.  
  3. $liczba = 2;
  4. echo $liczba++;
  5.  
  6. ?>


Chyba, że chcesz odczytać liczbę z pliku, to wtedy:
  1. <?php
  2.  
  3. $plik = fopen("nazwa.txt", "r");
  4. $liczba = fread($plik, filesize("nazwa.txt"));
  5. $liczba++;
  6. echo $liczba;
  7.  
  8. ?>
Go to the top of the page
+Quote Post
-Korpek-
post
Post #4





Goście







Slyszlem, o petli for, ale chodzi mi o to, zeby nie tworzylo naraz 20 pliko, tylko po 1.
Dzieki za checi, ale taki skrypt sam napisalem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
zbig13
post
Post #5





Grupa: Zarejestrowani
Postów: 214
Pomógł: 0
Dołączył: 3.04.2004
Skąd: Legionowo

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


Aha no to możesz zrobić tak:
  1. <?php
  2.  
  3. $katalog = opendir ("katalog/"); // Otworzenie katalogu z plikami.
  4. $liczba = 0; // Liczba plików w katalogu.
  5.  
  6. while ($plik = readdir($katalog)) { // Odczytanie zawartości katalogu.
  7. if ($plik != '.' && $plik != '..') {
  8. $liczba++; // Uaktualnienie liczby plików.
  9. }
  10. }
  11.  
  12. if (file_exists($liczba . ".txt")) { // Sprawdzenie istnienia ostatniego pliku w katalogu.
  13. $liczba++; // Zwiększenie liczby plików o 1. (następny plik będzie miał w nazwie liczbe o 1 większą od liczby wszystkich 
    plików.
  14. $plik = fopen($nazwa, "w"); // Utworzenie pliku.
  15.  $dane = "Dane do zapisu w pliku";
  16.  fputs ($plik, $dane); // Zapisanie danych do pliku.
  17.  fclose ($plik); // Zamknięcie pliku.
  18. }
  19.  
  20. ?>


Wszystko opisałem w komentarzach. Mam nadzieję, że teraz Cię dobrze zrozumiałem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

PS. Pisałem to z głowy więc nie wiem czy działa.
Go to the top of the page
+Quote Post
-Guest-
post
Post #6





Goście







Wielkie dzieki! (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Wlasnie o to mi chodzilo!
Pozdrawiam i jeszcze raz dziekuje!
Go to the top of the page
+Quote Post
-Guest-
post
Post #7





Goście







Co w tym skrypcie jest zle??

  1. <?php
  2. $plik = fopen("nazwa.txt", "r");
  3. $liczba = fread($plik, filesize("nazwa.txt"));
  4. $liczba++;
  5. echo $liczba;
  6. unlink("nazwa.txt");
  7. fopen("nazwa.txt", "w+");
  8. $file = fopen("nazwa.txt", "w+");
  9. fwrite($plik, $liczba);
  10. fclose($file);
  11. ?>


Na stronie wyswietla liczbe 2, ale w pliku nadal jest 1... Probowalem bez
unlink("nazwa.txt"); ale to samo (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) . W pliku nazwa.txt jest tylko liczba 1.

---
(IMG:http://forum.php.pl/uwaga.gif)
tiraeth
Go to the top of the page
+Quote Post
zbig13
post
Post #8





Grupa: Zarejestrowani
Postów: 214
Pomógł: 0
Dołączył: 3.04.2004
Skąd: Legionowo

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


1. Umieszczaj kod php w tagach [ php ] [ /php ]
2. Po co kasować plik i tworzyć go od nowa? Lepiej wykorzystywać ten sam plik.
3. 2 razy otwierasz ten sam plik, w trybie "w+". Po co?
3. Dlaczego otwierasz plik i zachowujesz go w zmiennej $file, a zapisując liczbę używasz zmiennej $plik.
Ogólnie powinno być tak:
  1. <?php
  2.  
  3. $plik = fopen("nazwa.txt", "r");
  4. $liczba = fread($plik, filesize("nazwa.txt"));
  5. $liczba++;
  6. echo $liczba;
  7. fclose ($plik);
  8.  
  9. $file = fopen("nazwa.txt", "w+");
  10. fwrite($file, $liczba);
  11. fclose($file);
  12.  
  13. ?>
Go to the top of the page
+Quote Post
yavaho
post
Post #9





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


  1. <?php
  2. $nazwa_pliku=(time().'.txt');
  3. ?>
Nie bedzie to nastepna kolejna liczba, ale bedzie to liczba wyzsza od poprzedniej. Dla potrzeb posortowania plikow i nadania im unikalnych nazw jest to wystarczajace, a w dodatku z nazwy pliku mozna odczytac dokladny czas jego utworzenia.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 29.09.2025 - 10:46