我想下載一個文件,並把它的內容放入使用php的數據庫中。我能夠做到這一點。但是如果我必須先檢查網址,然後如果存在,請下載,否則報告失敗。我該怎麼做?php中檢查文件url
說:$ url =「...」;
我需要一個條件:
如果(在URL中存在文件)
{
report success;
download;
}
其他
report failure;
我想下載一個文件,並把它的內容放入使用php的數據庫中。我能夠做到這一點。但是如果我必須先檢查網址,然後如果存在,請下載,否則報告失敗。我該怎麼做?php中檢查文件url
說:$ url =「...」;
我需要一個條件:
如果(在URL中存在文件)
{
report success;
download;
}
其他
report failure;
只需使用以下下面的代碼來檢查文件是否存在。
<?
$ct = @file_get_contents($url)
if(($ct != false)&&($ct != '')) {
//The file exists
}
?>
如果資源可能需要很長的時間來獲取,那麼你可以設置一個超時這樣的:
// Create the stream context
$context = stream_context_create(array(
'http' => array(
'timeout' => 5 // Timeout in seconds
)
));
// Fetch the URL's contents
$contents = @file_get_contents($this->url, 0, $context);
// Check for empties
if (!empty($contents)) {
//The file exists
}
謝謝隊友。那工作 – Kut 2010-11-24 03:47:26
if (fopen($url)) { report success; download; } else { report failure }
...應該做的伎倆。
在函數前添加@符號以防止錯誤輸出;所以:
if (@fopen($url)) { report success; download; } else { report failure }
@aendrew和傑夫:錯誤「...未能打開HTTP流......」不應該被打印出來。說我必須趕上錯誤,並以我自己的方式顯示它.. – Kut 2010-11-24 03:29:33
與我的代碼,你不應該遇到任何錯誤,因爲@符號用於壓制警告。 – xaav 2010-11-24 21:56:55