Ben dizeleri belirli örneklerini arıyor ve çok uzun sürüyor e-posta yoluyla sıralama ediyorum. Ben aşağı e-posta başına yarım saniye için zaman almak istiyorum ve şu anda e-posta başına yaklaşık 2-2.5 saniye alıyor.
Muhtemelen mysql veya zend_email ile - Ben bu yavaşlatıyor gerçekten aptal bir şey yapıyorum endişeliyim. Bu kod geri jquery ajax işlevine değerleri döndürür sonra, belirli bir ifade "çikolata" için bir kullanıcının gelen kutusuna da denetler. (Bu sürümünde, bu 10-postaları kontrol eder) on zamanlarda döngüler. Eğer yükleme süresini azaltmak yardımcı olacak bir şey görürseniz, o duyacağız. Başlangıçta, ben kütüphaneler yararlı olacağını dahil değil düşündüm, ama e-posta açılış işlevleri olmadan kütüphaneler yıldırım hızlı oldu.
Ben aptal ve amatörce bir şey (belki bir kaç şey) yapıyorum eminim. Mümkünse onları işaret edin.
İşte kod ...
<?php
$storage = new Zend_Mail_Storage_Imap($imap);
$x=0;
while($x<10)
{
$flags = $storage->getMessage($i)->getFlags();
if(!empty($flags['\Seen']))
{
$read=1;
}
else
{
$read=0;
}
if (strpos($storage->getMessage($i),'chocolate') !== FALSE )
{
$fromaddress = str_replace("'","",$storage->getMessage($i)->from);
$fromaddress = str_replace('"','',$fromaddress);
$sql = "SELECT `senderemail`,`subscribed` FROM email_spam WHERE `useremail` = '$_SESSION[email_address]' AND `senderemail` = '$fromaddress'"; $result = mysql_query($sql) or die (mysql_error());
$num = mysql_num_rows($result);
if($num == 0)
{
$emailmessage = mysql_escape_string($storage->getMessage($i)->getContent());
$sql_insert = "INSERT into `email_spam` (`message`,`useremail`,`senderemail`,`datetime`,`subscribed`) VALUES ('$emailmessage','$_SESSION[email_address]','$fromaddress',now(),1)";// echo $sql_insert;
mysql_query($sql_insert,$link) or die("Insertion Failed:" . mysql_error());
$sql = "SELECT `emailid`,`datetime` FROM email_spam WHERE `useremail` = '$_SESSION[email_address]' ORDER BY `datetime` desc"; $getid = mysql_query($sql) or die (mysql_error());
$num = mysql_num_rows($getid);
echo '<tr><td>'. $fromaddress . '</td>';
echo '<td class="unsubscribe_td" align="center"><input type="submit" value="Unsubscribe Me" class="unsubscribe_button" id="'. mysql_result($getid,0,'emailid') .'"/></td></tr>';
}
}
if ($read==0)
{
$storage->setFlags($i, array(Zend_Mail_Storage::FLAG_RECENT)); //marks as new
}
$i--;
$x++;
}
?>