Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z strtotime(), Nie przelicza zmiennej z płaskiej bazy.
Tomplus
post
Post #1





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


Witam,
Mam mały problem.


data.txt
zawiera wpis
Kod
1|A|tA|tB|3|3|a1|b1|1:1,3:3|0|0|||51|49|16(10)|12(9)|3:0|26-08-2007 01:57:01|


  1. <?php
  2. $data = file("data.txt") or die('nie można otworzyć pliku z danymi');
  3. foreach($data as $linia)
  4. {
  5. $k = explode("|", chop($linia));
  6.  
  7. $data1 = date("Y-m-d H:i:s"); //aktualna
  8. $data2 = $k[18]; //z bazy textowej, plik.txt
  9. $data3 = "2007-09-01 01:01:01"; //jakas data
  10.  
  11. //echuje stringi
  12. echo "<br/>data z bazy: <u>".$k[18]."</u>"; //OK
  13. echo "<br/>akutalna: ".date("d-m-Y H:i:s"); //OK
  14. echo "<br/>jakas data: ".$data3; //OK
  15.  
  16. //wyswietlam datę z dodanym żadnym czasem
  17.  
  18. echo "<br/>data1 z dodanymi 90 minutami: ".date("d-m-Y H:i:s",(strtotime($data1) + (60*90))); //OK
  19. echo "<br/>data2 z dodanymi 90 minutami: ".date("d-m-Y H:i:s",(strtotime($data2) + (60*90))); //FALSE, 01-01-1970 02:30:00
  20. echo "<br/>data3 z dodanymi 90 minutami: ".date("d-m-Y H:i:s",(strtotime($data3) + (60*90))); //OK
  21.  
  22.  }
  23. ?>


Niby nic, ale dlaczego zmiennej pobranej z bazy textowej nie chce mi przetworzyć funkcja date() ?

Ten post edytował Tom+ 27.08.2007, 19:58:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
zimi
post
Post #2





Grupa: Zarejestrowani
Postów: 233
Pomógł: 9
Dołączył: 3.06.2007

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


w zmiennej $data2 którą potem chcesz przetwarzać wpisujesz wartość $k[0] a z tego co się zorientowałem powinno być $k[18]...
Go to the top of the page
+Quote Post
Tomplus
post
Post #3





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


Fakt, jednak to jest tylko literówka i nie zmienia nadal problemu.
gdyż gdy $data2 = $k[18] to nadal jest problem.
Go to the top of the page
+Quote Post
zimi
post
Post #4





Grupa: Zarejestrowani
Postów: 233
Pomógł: 9
Dołączył: 3.06.2007

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


mi podany kod działa poprawnie...
Go to the top of the page
+Quote Post
Tomplus
post
Post #5





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


echo "<br/>data2 z dodanymi 90 minutami: ".date("d-m-Y H:i:s",(strtotime($data2) + (60*90))); //FALSE, 01-01-1970 02:30:00

Wyświetla Ci 26-08-2007 03:27:01 ?

Bo trochę dziwne, bo na serwerze lokalnym (PHP5) i na serwerze zewnętrznym (PHP4) - mam ten sam błąd.
Go to the top of the page
+Quote Post
zimi
post
Post #6





Grupa: Zarejestrowani
Postów: 233
Pomógł: 9
Dołączył: 3.06.2007

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


tak wyświetla 3:27..., od wersji php to raczej nie powinno zależeć
w każdym razie z podaną bazą i skryptem wszystko jest ok...
Go to the top of the page
+Quote Post
Tomplus
post
Post #7





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


To ja już nie rozumiem.

Powyższy kod wyciąłem ze swojego innego skryptu i stworzyłem nowy na zewnątrz poprzedniego pliku .php.

Skutek: bez zmian.

teraz przedstawie na stronie www, powyższy skrypt.
http://www.sensiman.pl/_temp/data.php
Go to the top of the page
+Quote Post
Tomplus
post
Post #8





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


Pytanie:

Dlaczego funkcja strtotime() nie działa dla zmiennej pobranej z textowej bazy danych ?
Na moich serwerach.
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: 22.08.2025 - 18:48