我想要一个镜像脚本来确定某个文件是否可访问。如果可以访问镜像1,它将显示镜像1的链接。如果镜像1不可访问,它将显示镜像2的链接。
到目前为止这是完美的,但我想要更多的镜子。例如,如果镜像2不可用,则将显示镜像3。如果镜像3不可用,镜像4将 提出等等。我只是不确定我是如何做到这一点的。有没有人有任何建议?他们将受到高度赞赏。我已经尝试了很多东西!
$mirror1 = "download1.exe";
$mirror2 = "download2.exe";
$header_response = get_headers($mirror1, 1);
if ( strpos( $header_response[0], "404" ) !== false )
{
echo '
<a href="', $mirror1, '">Download Mirror 1</a>
';
}
else
{
echo '
<a href="', $mirror2, '">Download Mirror 2</a>
';
}
答案 0 :(得分:1)
这是实现此目的的一种方法:
$mirrors = array("download1.exe","download2.exe","download3.exe");
foreach($mirrors as $mirror) {
$header_response = get_headers($mirror, 1);
if (strpos( $header_response[0], "404" ) === false) {
echo '<a href="', $mirror, '">Download from '.$mirror.'</a>';
break; //removing break will show all available mirrors
}
}
答案 1 :(得分:0)
您可以将它们全部放入数组中。然后while()的响应是=== false,array_shift是数组中的下一个并使用它。一旦它不是假的,你就会回应最后使用过的那个。