2012-04-12 6 views
0

私は(それが失敗したまで増分名)xmlファイルがURLに存在する場合、PHPを通じて確認することチェック(動作しない)

をしようとしていますか?

<?php 

for ($i = 1; $i <= 10; $i++) { 
$url = "http://thetvdb.com/api/E676DF9578EF38D7/series/78901/default/".$i."/1/en.xml"; 
echo $url."<br />"; 
$xml = simplexml_load_file($url); 

if ($xml) { 
echo "yay"."<br />"; 
} else { 
echo "fail"."<br />"; 
die(); 
} 
} 



?> 
+0

* "not working"を定義してください* – Phil

+0

'die()'はループを壊してコードを終了します。それを除く。 – Mob

答えて

1

あなたの主な問題はdie()です。これはすべての実行を終了します。

後で上のXMLを使用する予定のない限り、私はまた、あなただけのファイルが存在するかどうかを調べるために、カール使用することができます例えば

$handle = @fopen($url, 'r'); 
if ($handle === false) { 
    echo 'fail<br />'; 
    return; // check till it fails 
} else { 
    echo 'yay<br />'; 
    fclose($handle); 
} 
0

、代わりにsimplexml_load_file()fopen()を使用して試してみた:

function does_remote_file_exist($url){ 
    $ch = curl_init($url);  
    curl_setopt($ch, CURLOPT_NOBODY, true); 
    curl_exec($ch); 
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); 

    if ($code == 200) $status = true; 
    else $status = false; 

    curl_close($ch); 
    return $status; 
} 
関連する問題