2012-04-12 96 views
0

我試圖通過PHP來檢查是否存在對URL的XML文件(增量名字,直到它失敗)檢查是否存在XML(不工作)

爲什麼不工作的代碼?

<?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 2012-04-12 06:42:51

+0

'die()'打破循環並退出您的代碼。去掉它。 – Mob 2012-04-12 06:43:10

回答

1

您的主要問題是die()。這將退出所有執行。

我也想嘗試使用fopen()代替simplexml_load_file()除非你打算使用XML以後,如

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

你可以只使用捲曲找出一個文件是否存在:

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; 
}