我连接到FTP和下载文件。文件名是基于日期的,因此10242011.csv将是脚本今天尝试下载的文件。有时文件不存在一天。我有以下的代码,但我仍然收到一个PHP的警告:ftp_fget()返回文件犯规存在的警告......避免警告不改变错误报告级别
Warning: ftp_fget() [function.ftp-fget]: 10242011.csv: The system cannot find the file specified. in /home/rick/public_html/cron/main.php on line 68
下面是代码:
if (!ftp_fget($conn, $handle, $ftp_file, FTP_ASCII, 0)) {
$log[] = array('type' => 'error', 'msg' => 'Unable to download data file (' . $ftp_file . ') from ftp.');
email_fatal_error(); exit();
} else {
$log[] = array('type' => 'success', 'msg' => 'File downloaded.');
}
我知道我可以只把PHP warings的,但我只是想知道“正确”的方式来做到这一点。任何时候当您收到警告时,我都觉得可以解决。
这是*不正确的答案,应尽量避免,但可以使用'@'操作符来抑制任何给定操作的错误,例如'if(!@ftp_fget($ conn,$ handle,$ ftp_file,FTP_ASCII,0)){'。 *请*注意我*不*告诉你这样做,它应该被视为最后的手段。 – DaveRandom