Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]krótkie pytanie o pliki
shpaque
post
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Witam, mam krótkie pytanie bo kończę pisanie i byście mi bardzo pomogli odpowiadając na nie:

czy mogę otworzyc plik do odczytu a w nim ten sam plik zapisac? Cos w tym stylu? Czy to bedzie błędne?

  1. fopen(plik, 'r')
  2. cos tam sobie z niego wczytuje
  3. ...
  4. fopen(ten sam plik, 'w')
  5. fwrite(costam)
  6. fclose(ten sam plik)
  7. ...
  8. fclose(plik)
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A dziala ci?
Go to the top of the page
+Quote Post
shpaque
post
Post #3





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


czy jednak od razu po wczytaniu powinienem go zamknac? to pytanie ma sens, bo dalej ida petle i nie wiem czy przed nimi zamykac plik do odczytu, czy na koncu

czy dziala jeszcze nie wiem, bo tak w locie pisze, nie dokonczylem jeszcze bebechow - jak dokoncze bede sprawdzal

Ten post edytował shpaque 12.12.2017, 12:50:51
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


A może co chcesz zrobić bo może zabierasz się do tego ze złej strony
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #5





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

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


Ja też mam przeczucie, że się dziwnie zabierasz do problemu. Poza tym są przecież tryby pozwalające na odczyt i zapis, zobacz w dokumentacji fopen.
Go to the top of the page
+Quote Post
shpaque
post
Post #6





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


  1. if ($_SERVER['REQUEST_METHOD'] == 'POST')
  2. {
  3. $action = isset($_POST['action']) ? $_POST['action'] : '';
  4. if ($action == "signup")
  5. {
  6. $fdatein = $_POST['fdatein'];
  7. $fcity = str_replace("%20", " ", $_POST['fcity']);
  8. $fname = $_POST['fname'];
  9. $femail = $_POST['femail'];
  10. $fphone = $_POST['fphone'];
  11. $fgender = $_POST['fgender'];
  12. $fplanujeciaze = $_POST['fplanuje'];
  13. $fjestemwciazy = $_POST['fjestemw'];
  14. $fjestemrodzicem = $_POST['fjestemr'];
  15.  
  16. $dateins = array();
  17. $dateouts = array();
  18. $titles = array();
  19. $programs = array();
  20. $citys = array();
  21. $streets = array();
  22. $places = array();
  23. $seats = array();
  24. $userss = array();
  25.  
  26. $udatas = array();
  27. $uemails = array();
  28. $uphones = array();
  29. $ugenders = array();
  30. $uplanujes = array();
  31. $ujestemws = array();
  32. $ujestemrs array();
  33.  
  34. $database = './db/events.csv';
  35. $items = file($database);
  36. $count = 0;
  37. $kodindex = -1;
  38. foreach($items as $line)
  39. {
  40. list($datein, $dateout, $title, $program, $city, $street, $place, $seat, $users) = explode('|', trim($line));
  41. $dateins[$count] = $datein;
  42. $dateouts[$count] = $dateout;
  43. $titles[$count] = $title;
  44. $programs[$count] = $program;
  45. $citys[$count] = $city;
  46. $streets[$count] = $street;
  47. $places[$count] = $place;
  48. $seats[$count] = $seat;
  49. $userss[$count] = $users;
  50.  
  51. if ($fdatein == $datein && $fcity == $city)
  52. {
  53. $kodindex = $count;
  54. }
  55. $count++;
  56. }
  57.  
  58. $file = fopen($database, 'a');
  59. for ($i = 0; $i < $count; $i++)
  60. {
  61. if ($i == $kodindex)
  62. {
  63. $newdatein = $dateins[$i];
  64. $newdateout = $dateouts[$i];
  65. $newtitle = $titles[$i];
  66. $newprogram = $programs[$i];
  67. $newcity = $citys[$i];
  68. $newstreet = $streets[$i];
  69. $newplace = $places[$i];
  70. $newseat = $seats[$i];
  71. $newuser = $userss[$i];
  72.  
  73. $newname = $fname;
  74. $newemail = $femail;
  75. $newphone = $fphone;
  76. $newgender = $fgender;
  77. $newplanujeciaze = $fplanujeciaze;
  78. $newjestemwciazy = $fjestemwciazy;
  79. $newjestemrodzicem = $fjestemrodzicem;
  80.  
  81. if ($newuser == "")
  82. {
  83. $zajetych = 0;
  84. $dostepnych = $newseat;
  85. }
  86. else
  87. {
  88. $zajetych = explode(',', $newuser);
  89. $zajetych = count($zajetych);
  90. $dostepnych = $newseat - $zajetych;
  91.  
  92. if ($dostepnych > 0)
  93. {
  94. $pos = strpos($newuser, $newemail);
  95. if ($pos === false)
  96. {
  97. $udatabase = './db/users.csv';
  98. $uitems = file($udatabase);
  99. $ucount = 0;
  100. $ukodindex = -1;
  101. foreach($uitems as $uline)
  102. {
  103. list($udata, $uemail, $uphone, $ugender, $uplanuje, $ujestemw, $ujestemr) = explode('|', trim($uline));
  104. $udatas[$ucount] = $udata;
  105. $uemails[$ucount] = $uemail;
  106. $uphones[$ucount] = $uphone;
  107. $ugenders[$ucount] = $ugender;
  108. $uplanujes[$ucount] = $uplanuje;
  109. $ujestemws[$ucount] = $ujestemw;
  110. $ujestemrs[$ucount] = $ujestemr;
  111.  
  112. if ($newemail == $uemail)
  113. {
  114. $ukodindex = $ucount;
  115. }
  116. $ucount++;
  117.  
  118. for ($u = 0; $u < $ucount; $u++)
  119. {
  120. if ($u == $ukodindex)
  121. {
  122. $udatas[$u] = $newname;
  123. $uemails[$u] = $newemail;
  124. $uphones[$u] = $newphone;
  125. $ugenders[$u] = $newgender;
  126. $uplanujes[$u] = $newplanujeciaze;
  127. $ujestemws[$u] = $newjestemwciazy;
  128. $ujestemrs[$u] = $newjestemrodzicem;
  129. }
  130.  
  131. $udb = fopen($udatabase, 'w');
  132. fwrite($udb, $udatas[$u]);
  133. fwrite($udb, '|');
  134. fwrite($udb, $uemails[$u]);
  135. fwrite($udb, '|');
  136. fwrite($udb, $uphones[$u]);
  137. fwrite($udb, '|');
  138. fwrite($udb, $ugenders[$u]);
  139. fwrite($udb, '|');
  140. fwrite($udb, $uplanujes[$u]);
  141. fwrite($udb, '|');
  142. fwrite($udb, $ujestemws[$u]);
  143. fwrite($udb, '|');
  144. fwrite($udb, $ujestemrs[$u]);
  145. fwrite($udb, "\r\n");
  146. fclose($udb);
  147. }
  148.  
  149. if ($newemail != $uemail)
  150. {
  151. $udb = fopen($udatabase, 'w');
  152. fwrite($udb, $newname);
  153. fwrite($udb, '|');
  154. fwrite($udb, $newemail);
  155. fwrite($udb, '|');
  156. fwrite($udb, $newphone);
  157. fwrite($udb, '|');
  158. fwrite($udb, $newgender);
  159. fwrite($udb, '|');
  160. fwrite($udb, $newplanujeciaze);
  161. fwrite($udb, '|');
  162. fwrite($udb, $newjestemwciazy);
  163. fwrite($udb, '|');
  164. fwrite($udb, $newjestemrodzicem);
  165. fwrite($udb, "\r\n");
  166. fclose($udb);
  167. }
  168. }
  169. }
  170. else
  171. {
  172. $message = "Osoba o Twoim adresie e-mail jest już zarejestrowana!";
  173. $opis = "Sprawdź, czy wcześniej nie zapisaliśmy Cię na to wydarzenie. Jeśli nie, użyj innego adresu e-mail w celu rejestracji";
  174. }
  175. }
  176. else
  177. {
  178. $message = "Przykro nam, wszystkie miejsca zostały już zarezerwowane!";
  179. $opis = "Jeśli chcesz abyśmy powiększyli liczbę uczestników i dopisali Cię na listę, skontaktuj się z nami.";
  180. }
  181. }
  182. }
  183. fwrite($database, ",")
  184. fwrite($database, $newemail);
  185. $file = fclose($database);
  186. }
  187. }


co ma robic:
- sprawdzic plik events.csv czy jest juz taki mail jesli nie - dopisac (na koncu linii)
- sprawdzic czy w pliku users.csv jest osoba o takich danych - jesli jest - nadpisac, jesli nie - dopisac
Go to the top of the page
+Quote Post
Puszy
post
Post #7





Grupa: Zarejestrowani
Postów: 279
Pomógł: 42
Dołączył: 10.10.2011

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


Skorzystaj z http://php.net/manual/en/function.fgetcsv.php dzieki temu łatwo pobierzesz dane z pliku CSV, do tego odpowiednio skonstruowana pętla i zamkniesz kod w kilkunastu linijkach. Analogicznie do zrzutu danych do pliku wykorzystaj http://php.net/manual/en/function.fputcsv.php.

Ten post edytował Puszy 12.12.2017, 14:32:17
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: 15.09.2025 - 14:27