Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z strtotime()
Forum PHP.pl > Forum > PHP
Tomplus
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() ?
zimi
w zmiennej $data2 którą potem chcesz przetwarzać wpisujesz wartość $k[0] a z tego co się zorientowałem powinno być $k[18]...
Tomplus
Fakt, jednak to jest tylko literówka i nie zmienia nadal problemu.
gdyż gdy $data2 = $k[18] to nadal jest problem.
zimi
mi podany kod działa poprawnie...
Tomplus
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.
zimi
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...
Tomplus
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
Tomplus
Pytanie:

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