Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Operacje zpisu/odczytu z pliku
amii
post 30.07.2010, 12:49:39
Post #1





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


Mam takie 3 funkcje. Funkcja zapisuj zapisuje we wskazanym pliku wartość podaną w parametrze $ile domyślnie =1, następnie zwraca tą wartość.
Funkcja zwroc1 odczytuje wartość pliku i ją zwraca.
Funkcja ppp jest funkcją narzędziową obsługującą w pętli określone adresy url pobierane z pliku tab.txt. Wartość na echo są ok. Wartość w pliku też ok, mimo to funkcja wysyła dane post tylko do ostatniego adresu z pliku tab.txt, co zrobić aby obsługiwane były wszystkie adresy z pliku tab.txt ?
  1. function zapisuj($plik, $ile=1) {
  2.  
  3.  
  4. $zmienna = file($plik);
  5.  
  6.  
  7.  
  8. for ($i=$zmienna[0]; $i<$zmienna[0]+$ile; $i++) {
  9. }
  10.  
  11.  
  12. $otworz = @fopen($plik, 'w+'); //wskaznik na poczatku pliku
  13. if ($otworz) {
  14. $zapisz = fwrite($otworz, $i); //zapisuje w pliku ile wyslal emiali
  15. $zamknij = fclose ($otworz);
  16. if ($i<0) $i = 0;
  17. return $i;
  18. }
  19. else {
  20. echo 'Nie mogę przeczytać pliku ' . $plik;
  21. }
  22. }
  23.  
  24.  
  25. function zwroc1($plik) { //funkcja oczytujaca ilosc obsluzonych adresow url
  26.  
  27. $zmienna = file($plik);
  28. if ($zmienna[0]=='') $zmienna[0]=0;
  29.  
  30. return intval($zmienna[0]); //zwraca ilosc obsluzonych url
  31. }
  32.  
  33.  
  34.  
  35.  
  36. function ppp($dodaj) {
  37. $param = array('post'=>'jekies dane', //przykladowe dane post
  38. 'email'=>'przykladowy_email@o2.pl'
  39. );
  40.  
  41. $url = file('tab.txt'); //wczytujemy sobie tablice adresow url do obsluzenia
  42. $browser = &new SimpleBrowser(); //klasa sluząca do wysylania parametrów post do strony, kiedy adresy url byly zdefiniowane w tablicy wszystko bylo ok
  43. $policz = zwroc1('id_precle.txt'); //odczytujemy wskaznik przesuniecia
  44.  
  45. for ($i=$policz; $i<$policz+$dodaj; $i++) { //obslugujemy tyle adresow ile ma parametr $dodaj domyslnie = 4
  46.  
  47.  
  48.  
  49. $comment = $url[$i].'/strona.php';
  50. echo 'Wyslalem dane post do stron: ' .$url[$i]. '<br>';
  51.  
  52. $html = $browser->post($comment, $param);
  53. }
  54.  
  55. $policz = zapisuj('id_precle.txt', $dodaj); //zapisujemy wartosc powiekszona o $dodaj domyslnie 4
  56. }
  57.  
  58. ppp(4);


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post
Fifi209
post 30.07.2010, 12:58:42
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Na pierwszy rzut oka:

Funkcja zapisuj mogłaby wyglądać tak:

  1. function zapisuj($plik, $ile=1) {
  2.  
  3. if (!file_exists($plik)) {
  4. }
  5.  
  6. $l = count(file_get_contents($plik))+$ile;
  7.  
  8. file_put_contents($plik, $l);
  9. return $l
  10.  


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
amii
post 30.07.2010, 13:40:59
Post #3





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


Niestety dalej nic, strasznie dziwna sprawa bo jak wprowadzę adresy do tablicy i zdefiniuje w funkcji ppp to jest wszystko OK.

  1. $url = array('http://strona.pl', 'http://strona1.pl', 'http://strona2.pl', 'http://strona3.pl');


A dlaczego jeśli dam zamiast tego ->
  1. $url = file('tab.txt');

obsługuje tylko ostatni adres z listy

Ten post edytował amii 30.07.2010, 13:41:23


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post
skarabe.pl
post 30.07.2010, 13:44:03
Post #4





Grupa: Zarejestrowani
Postów: 142
Pomógł: 49
Dołączył: 29.07.2010

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


Cytat(amii @ 30.07.2010, 14:40:59 ) *
Niestety dalej nic, strasznie dziwna sprawa bo jak wprowadzę adresy do tablicy i zdefiniuje w funkcji ppp to jest wszystko OK.

  1. $url = array('http://strona.pl', 'http://strona1.pl', 'http://strona2.pl', 'http://strona3.pl');


A dlaczego jeśli dam zamiast tego ->
  1. $url = file('tab.txt');

obsługuje tylko ostatni adres z listy

Czy adresy w pliku występują po jednym w linii?
Go to the top of the page
+Quote Post
amii
post 30.07.2010, 13:53:39
Post #5





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


OK już działa smile.gif
Rozwiązanie:
  1. $url[$i] = trim($url[$i]);


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post

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: 17.06.2025 - 14:57