使用 PHP 验证远程图像是否存在
在为数据库生成动态图像 URL 时,确定远程 URL 上是否存在图像至关重要。像curl这样的PHP库可以促进这项任务,但它们的性能可能会有很大差异。鉴于要检查的图像数量很大,优化此过程至关重要。
最有效的解决方案是利用带有以下参数的curl 库:
function checkRemoteFile($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); // don't download content curl_setopt($ch, CURLOPT_NOBODY, 1); curl_setopt($ch, CURLOPT_FAILONERROR, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); curl_close($ch); if($result !== FALSE) { return true; } else { return false; } }
这种方法优先考虑速度将 CURLOPT_NOBODY 设置为 1,这指示curl 仅检索 HTTP 标头,而不实际下载图像内容。此外,如果远程文件不存在,CURLOPT_FAILONERROR 设置为 1 将返回 FALSE。然后该函数评估curl_exec的返回值以确定该图像是否远程存在。
以上是如何使用 PHP 优化远程图像存在性检查?的详细内容。更多信息请关注PHP中文网其他相关文章!