我連接到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