Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Rozmiar pliku tworzonego przez php
Forum PHP.pl > Forum > PHP
timon27
Mam problem - stworzylem dwie strony i w jednej po pewnych modyfikacjach (niestety sam nie wiem co zrobiłem) jedna umie tworzyć pliki ponad 4096 znakowe, druga nie. WHY? - Przecie kody są podobne.
Pomóżcie: co trzeba zrobić by zawsze obsługiwać duże pliki?

1st:
  1. <?php
  2. $licznik = "plik.txt";
  3. $fp = fopen("$licznik", "r+");
  4. flock($fp, 1);
  5. $count = fgets($fp, 4096);
  6. ?>
  7.  
  8. <table width="100%">
  9. <tr>
  10. <td>
  11. <form name="form1" method="post" action="rezultat.php">
  12. <textarea name="textarea" cols="135" rows="31" style="font-family: Courier New; font-size: 11px;">
  13. <?
  14. $plik = file('plik.txt');
  15. $tmpcount = count($plik);
  16. for ($i=0;$i<=$tmpcount-1;$i++) {echo"$plik[$i]";}
  17. ?>
  18. </textarea>
  19. <br>
  20. <input class=przycisk type="submit" name="Submit" value="Send">
  21. </form>
  22. </td>
  23. </tr>
  24. </table>
  25.  
  26.  
  27. <?
  28. fseek($fp,0);
  29. fputs($fp, $count);
  30. flock($fp, 3);
  31. fclose($fp);
  32. ?>


2nd:
  1. <?php
  2. $ipip = "ip.php";
  3. $fp = fopen("$ipip", "r+");
  4. flock($fp, 1);
  5. $text = fgets($fp, 4096);
  6. $text .= "<b>Ip:</b> "; 
  7. $text .= $REMOTE_ADDR; 
  8. $text .= " <b>Kiedy:</b> "; 
  9. $text .= date("d-m-y H:i"); 
  10. $text .= "<br>"; 
  11. fseek($fp,0);
  12. fputs($fp, $text);
  13. flock($fp, 3);
  14. fclose($fp);
  15. ?>



Uwaga!: zmiana w kodzie liczby 4096 na inną nic nie daje!


-------------------------
proszę używać poprawnego
BBCode
tym razem poprawiłem na przyszłość
proszę pamiętać
~Cienki1980
DeyV
który kod działa poprawnie, który nie, i jaki błąd / zachowanie się pojawia.
No i oczywiście pytanie - co tak naprawdę chcesz osiągnąć?

ps. a swoją drogą - od dawna istnieje file_get_contents" title="Zobacz w manualu PHP" target="_manual oraz file_put_contents" title="Zobacz w manualu PHP" target="_manual które radzą sobie z tym najlepiej.
timon27
"jedna umie..druga nie" druga == 2nd
Więc wiadomo która działa która nie
Co chce osiągnąć? - przecież piszę - czytaj ze zrozumieniem: chce obsługiwać pliki ponad 4096bajtowe
Chciałbym też wiedzieć dlaczego nie działa drugi kod - nie zadowoli mnie odpowiedź "można to zrobić inaczej"
Błąd jaki się pojawia: po osiągnięciu rozmiaru 4096 bajtów do pliku przestają być dopisywane znaki.
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.