私はファイルをダウンロードし、その内容をphpを使ってdbに入れようとしています。私はそれを行うことができます。しかし、最初にURLをチェックしなければならない場合は、ダウンロードしてください。どうすればいいですか?File url check in php
say:$ url = "...";
私は条件が必要になります。
(URL内のファイルが存在する)
{
report success;
download;
}
他 report failure;
私はファイルをダウンロードし、その内容をphpを使ってdbに入れようとしています。私はそれを行うことができます。しかし、最初にURLをチェックしなければならない場合は、ダウンロードしてください。どうすればいいですか?File url check in php
say:$ 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
if (fopen($url)) { report success; download; } else { report failure }
。
エラー出力を防止する機能の前に@記号を追加します。そう:
if (@fopen($url)) { report success; download; } else { report failure }
@aendrewとジェフ:エラーは、 "... HTTPストリームをオープンに失敗しました....." 印刷すべきではありません。私はエラーをキャッチして、それを私自身の言葉で表示する必要があると言います。 – Kut
私のコードでは、@シンボルが警告を抑制するために使用されるので、エラーは発生しません。感謝の仲間。 – xaav