Zdravím všetkých,
chcel by som Vás poprosiť o radu. V php cez funkciu imap, sťahujem email z googla. Neviem si rady s imap_body. Stiahnem telo správy cez funkciu imap a potrebujem ho uložiť ako text do databázy, ale ako text mi ho nechce uložiť. Potrebujem so správou pracovať ako s textom a nájsť v ňom hladaný výraz.Vedel by mi prosím niekto poradiť?
Vopred ďakujem.
Peter
php imap
-
harrison314
Hardcore addict
- Príspevky: 8224
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: php imap
Mohol by si o tom povedat viac.
ten text ti ulozi len cast, alebo vobec, vypise chybu, warning, ako ukladas ten text?
Hod sem tu cast kodu.
ten text ti ulozi len cast, alebo vobec, vypise chybu, warning, ako ukladas ten text?
Hod sem tu cast kodu.
Re: php imap
prihlásim sa na učet na gmail cez imap a dám načítať poštu
$m_mail = imap_open ("{imap.gmail.com:993/imap/ssl}INBOX", $m_username . "@gmail.com", $m_password)
or die("ERROR: " . imap_last_error());
$text = "[email protected]";
$m_search=imap_search ($m_mail, 'UNSEEN FROM ' . $m_gdmy . '');
foreach ($m_search as $what_ever) {
$obj_thang = imap_headerinfo($m_mail, $what_ever);
$telo=imap_body($m_mail, $what_ever);
echo $telo;
}
ked dám vypísať $telo (telo správy tak ho vypíše) ale neveim s ním pracovať ako s textom
ak dám vyhľadávať textový výraz v tomto tele:
$cast=strpos("text",$telo), tak ho nevie nájsť a pritom určite hladaný výraz v tele je.
a aj ked sa pokúsim telo uložiť do databázy ako text tak ho neuloží a vypíše chybu:
@$spojenie = MySQL_Connect($db_server, $db_meno, $db_heslo);
mysql_query("SET NAMES cp1250");
if (!$spojenie):
echo "Nepodarilo sa pripojit k MySQL.<br>\n";
break;
endif;
MySQL_Select_DB($db_databaza);
@$mail = MySQL_Query("INSERT INTO skuska ( text) VALUES (".$telo.")");
if (!$mail):
echo "Nastala chyba pri pridavani mailu.<br>\n";
break;
endif;
ďakujem za pomoc
$m_mail = imap_open ("{imap.gmail.com:993/imap/ssl}INBOX", $m_username . "@gmail.com", $m_password)
or die("ERROR: " . imap_last_error());
$text = "[email protected]";
$m_search=imap_search ($m_mail, 'UNSEEN FROM ' . $m_gdmy . '');
foreach ($m_search as $what_ever) {
$obj_thang = imap_headerinfo($m_mail, $what_ever);
$telo=imap_body($m_mail, $what_ever);
echo $telo;
}
ked dám vypísať $telo (telo správy tak ho vypíše) ale neveim s ním pracovať ako s textom
ak dám vyhľadávať textový výraz v tomto tele:
$cast=strpos("text",$telo), tak ho nevie nájsť a pritom určite hladaný výraz v tele je.
a aj ked sa pokúsim telo uložiť do databázy ako text tak ho neuloží a vypíše chybu:
@$spojenie = MySQL_Connect($db_server, $db_meno, $db_heslo);
mysql_query("SET NAMES cp1250");
if (!$spojenie):
echo "Nepodarilo sa pripojit k MySQL.<br>\n";
break;
endif;
MySQL_Select_DB($db_databaza);
@$mail = MySQL_Query("INSERT INTO skuska ( text) VALUES (".$telo.")");
if (!$mail):
echo "Nastala chyba pri pridavani mailu.<br>\n";
break;
endif;
ďakujem za pomoc
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: php imap
to nie je chyba imapu, ale tvojho zlého query. Vkladáš reťazec, tak musí byť v apostrofoch. Teda
inak tiež rozum potlačiť chybové výpisy a potom sa pýtať prečo. Keby ich nepotláčaš, alebo si necháš dodatočne vypísať chybu tak by si vedel kde je problém
Kód: Vybrať všetko
@$mail = MySQL_Query("INSERT INTO skuska ( text) VALUES ('".$telo."')");Re: php imap
tam chyba nebude chyba bude niekde inde, vlastne som to zle opísal syntax som mal správnu, len som to zle okopíroval,
chyba je v :
$cast=strpos("text",$telo)
ked dám nájsť pozíciu určitého textového reťazcu vobec ju neurčí, pritom tam daný výraz je. premenná
$telo=imap_body($m_mail, $what_ever); sa vobec nespráva ako textový reťazec, neviem čo s tým.
chyba je v :
$cast=strpos("text",$telo)
ked dám nájsť pozíciu určitého textového reťazcu vobec ju neurčí, pritom tam daný výraz je. premenná
$telo=imap_body($m_mail, $what_ever); sa vobec nespráva ako textový reťazec, neviem čo s tým.