我编写了一个 php 函数来将 Internet 图像复制到本地文件夹,有时它运行良好,但有时它只是生成一个大小为 1257B 的无效文件。
function copyImageToLocal($url, $id)
{
$ext=strrchr($url, ".");
$filename = 'images/' . $id . $ext;
ob_start();
readfile($url);
$img = ob_get_contents();
ob_end_clean();
$fp=@fopen($filename, "a");
fwrite($fp, $img);
fclose($fp);
}
注意:传入的$url是有效的,有时候这个函数第一次失败,第二次或者第三次可能会成功。真的很奇怪……这需要一些特殊的PHP设置吗?
请帮我!
我找到了真正的原因:测试图像的url不允许程序访问,虽然它可以在浏览器中打开。我尝试了其他一些图片网址,该功能运行良好。
所以,看来我需要找到一种方法来处理这种情况。多谢你们!