我正在试图弄清楚如何以这种方式自定义这段PHP代码,以便根据我收到的PHP错误通知设置两个特定条件。
<?php
/* connect to yahoo */
$hostname = '{imap.mail.yahoo.com:993/imap/ssl}INBOX';
$username = 'user@yahoo.com';
$password = 'password';
$alerts = imap_alerts()
/* try to connect */
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to yahoo: ' . $alerts);
if ( $inbox === false ) {
exit ("Can't connect: " . imap_last_error() ."\n");
}
else
{
echo"Logined:";
//do stuff
}
?>
我想要完成的是:
imap_last_error为两种情况都返回相同的错误。但是,错误警报(imap_alerts)对于这两种情况都是不同的,这是我可以区分它们的地方。
如何设置它以便在它尝试登录时收到包含特定文本字符串的错误通知时,它只会读取该文本字符串(根本不显示错误),并重定向到“1”还是“2”?
重定向本身应该不是问题。分化是什么让我在这里绊倒。我希望收到的IMAP通知被转储到文本文件中(或者,理想情况下,直接读取),并且,根据它是否包含“字符串A”或“字符串B”,下一个脚本操作将重定向到第1页或第2页。
IMAP错误的用户/通行证组合通知:
注意:未知:[AUTHORIZATIONFAILED]用户名或密码不正确。
IMAP未知位置通知:
注意:未知:[AUTHORIZATIONFAILED]请在https://login.yahoo.com验证您的帐户。
答案 0 :(得分:-1)
在使用
之后,阻止错误在您的案例@imap_open
中的函数前显示使用@
imap_errors();
imap_alerts();
以获取错误:
$errors = imap_errors();
for ($i=0; $i<count($errors); $i++) {
echo "{$errors[$i]} <BR>\n";
}