Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> imap_search i problem z SINCE
Wilu88
post
Post #1





Grupa: Zarejestrowani
Postów: 158
Pomógł: 6
Dołączył: 7.03.2010

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


Witam

Tworze prosty skrypt który ma za zadanie na lokalnym serwerze poobierać maile ze skrzynki i zapisywać do bazy danych, wszystko działa fajnie ale mam problem z warunkiem poboru maila.

Otóż chciałem zrobić tak aby pobierało maile tylko z 4 ostatnich dni. Tak więc zrobiłem coś takiego:

  1. $yesterday = date("Y-m-d", strtotime ("-4 days"));
  2. $searchQuery = 'SINCE ".$yesterday."';


Działa ok, ale nie na wszystkich mailach, gdyż kilka maili w skrzynce ma dziwną datę utworzenia. Gdy sprawdzam date maila za pomocą funkcji
header->date wyświetla mi się prawidłowa data odbioru
natomiast gdy użyje header->udate otrzymuje wynik 1970-01-01 00:00:00.

I wygląda na to że SINCE właśnie sprawdza udate bo gdy zastosuje ten kod co powyżej to omija te maile w których jest zła data udate, gdy zamiast SINCE użyje BEFORE to pobiera tylko te z błędną datą.

Czy jest możliwość użycia SINCE na header->date questionmark.gif

Ten post edytował Wilu88 30.06.2011, 08:17:43
Go to the top of the page
+Quote Post
Ruio
post
Post #2





Grupa: Zarejestrowani
Postów: 147
Pomógł: 9
Dołączył: 20.02.2009

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


Ja bym to zrobił tak:
  1. $time = time() - 86400 * 4;


I później aby to ładnie pokazac:

  1. date("Y-m-d", $time);




Ten post edytował Ruio 30.06.2011, 10:39:21
Go to the top of the page
+Quote Post
Wilu88
post
Post #3





Grupa: Zarejestrowani
Postów: 158
Pomógł: 6
Dołączył: 7.03.2010

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


Cytat(Ruio @ 30.06.2011, 11:34:37 ) *
Ja bym to zrobił tak:
  1. $time = time() - 86400 * 4;


I później aby to ładnie pokazac:

  1. date("Y-m-d", $time);


No tak tyle że to nic nie zmieni bo dalej SINCE będzie szukało po dacie utworzenia maila, czyli w niektórych przypadkach jest to 1970-01-01 więc na pewno będzie starszy od podanego warunku. Nie problem jest zmienna $yesterday bo ta prawidłowo pryzmuje wartość -4 dni, a sam warunek SINCE
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 Aktualny czas: 20.08.2025 - 05:31