我有一个小问题需要检查3个可能的文件路径中哪一个与正确的图像有关。我过去总是使用get_headers - 但是在任何给定的分页上最多可以加载100个图像 - 因此在最坏的情况下可能会有300个get_headers,而且在我的大学服务器空间中它会非常缓慢。
但是对于任何给定的steam_id,可能存在2个可能的文件路径中的图像。这意味着如果我只包括所有三个网址并使用Jquery来隐藏错误,大约一半的结果我最终会得到2张图片(这比我目前所做的更公平,但至少get_headers方法看起来很好。
这是我到目前为止所使用的内容:
//Use Header Response to determine which img to use
$url1 = 'http://cdn4.steampowered.com/v/gfx/apps/' . $row -> steam_id_clean . 'header_292x136.jpg';
$url2 = 'http://cdn4.steampowered.com/v/gfx/apps/' . $row -> steam_id_clean . 'header.jpg';
$header_response = get_headers($url1, 1);
if (strpos($header_response[0], "404") !== false) {
// File does not exist at url1 - recurse.
$header_response = get_headers($url2, 1);
if (strpos($header_response[0], "404") !== false) {
//File does not exist at URL - Therefore must be at URL3
echo '<img src = "http://cdn4.steampowered.com/v/gfx/subs/' . $row -> steam_id_clean . 'header.jpg" style="width: 200px; height: auto;" >';
} else {
//File exists at URL2
echo '<img src = "http://cdn4.steampowered.com/v/gfx/apps/' . $row -> steam_id_clean . 'header.jpg" style="width: 200px; height: auto;" >';
}
} else {
// File exists at URL1
echo '<img src = "http://cdn4.steampowered.com/v/gfx/apps/' . $row -> steam_id_clean . 'header_292x136.jpg" style="width: 200px; height: auto;" >';
}
这个数据太动态了 - 所以我不能写一个刮去抓图像。任何比get_headers更好的方法的建议将不胜感激。我不能在我的大学服务器上访问curl(不幸的是)!
答案 0 :(得分:0)
你可以做一个while循环并在while循环中插入if语句(而while循环将遍历所有图像URL的数组吗?)。
这就是我要做的事。