Napisalem sobie swego czasu taki skrypt (sprawdza poczte i jezeli jest
nowa wiadomosc to wysyla sms'a na komorke ERY z informacja
od kogo przyszla wiadomosc i jaki ma temat) umiescilem go na serwerze i
bez zadnych problemow dzialal sobie spokojnie przez 2-3 tygodnie uruchamiany
CYKLICZNIE przez Crona co 8 minut ...
Od jakiegos czasu dostaje informacje od admina ze ten wlasnie skrypt zbyt
mocno wykorzystuje moc obliczeniowa procesora ...
I tu pojawia sie moja prosba do was moglibyscie zerknac czy da sie
cos jeszcze w tym prostym skrypcie zooptymalizowac ?
Z gory dzieki za pomoc...
<?php
function open_https_url($url,$refer = "",$usecookie = false)
{
if ($usecookie) {
return "Can't write to $usecookie cookie file, change file
permission to 777 or remove read only for windows.";
}
} else {
$usecookie = "sms3.txt";
return "Can't write to $usecookie cookie file, change file
permission to 777 or remove read only for windows.";
}
}
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
// curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
// curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
$host ="www.eraomnix.pl";
$headers = array("Host: $host"); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
if ($usecookie) {
curl_setopt($ch, CURLOPT_COOKIEJAR, $usecookie);
curl_setopt($ch, CURLOPT_COOKIEFILE, $usecookie);
}
if ($refer != "") {
curl_setopt($ch, CURLOPT_REFERER, $refer );
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result =curl_exec ($ch);
curl_close ($ch);
return $result;
}
///////////////////////////////////////////////
///////// Poczatek//////////////////////////
/////////////////////////////////////////////
//Login do konta i haslo
$login="";
$pass="";
/// Polaczenie
$mbox = imap_open("{serwer:143}", $login, $pass);
if ($mbox)
{
$status = imap_status($mbox, "{serwer:143}INBOX", SA_ALL);
if ($status) {
echo "Messages: " . $status->messages . "<br />\n"; echo "Recent: " . $status->recent . "<br />\n"; echo "Unseen: " . $status->unseen . "<br />\n"; echo "UIDnext: " . $status->uidnext . "<br />\n"; echo "UIDvalidity:" . $status->uidvalidity . "<br />\n"; } else {
echo "imap_status failed: " . imap_last_error
() . "\n"; }
// Sprawdza czy jest nowa wiadomosc
if (($status->recent)>=1)
{
$liczbawiad=$status->messages;
$number=$liczbawiad-1;
$temat=$headers[$number];
// pobieranie naglowka wiadomosci czyli informacji od kogo jest wiadomosc
// i jaki ma temat
$naglowek = imap_headerinfo($mbox, $liczbawiad, 80, 80);
$lebek=$naglowek->from[0]->mailbox;
$hoscik=$naglowek->from[0]->host;
$temat=$naglowek->fetchsubject ;
$text="Serwer: masz nowa wiadomosc od $lebek@$hoscik Temat : $temat";
//echo strlen($text);
// Sprawdzanie wielkosci nie moze przekroczyc 110 takie wymagania bramki Ery...
{
$text=$luk;
}
// Wysyla sms'a
$zmienna=open_https_url("http://www.eraomnix.pl/msg/api/do/tinker/sponsored?message=$text&number=tel&password=has&login=tel&failure=http://www.era.pl&success=http://www.eraomnix.pl&mms=false","",false);
//echo $zmienna;
}
}
else
{
echo "imap_status failed: " . imap_last_error
() . "\n"; }
imap_close($mbox);
?>
Ten post edytował luk4 27.03.2006, 11:35:03