在服务器上有很多图片,它们的图片都有空格的名字,例如:home 3.png,我的新car.jpg。 我需要获得所有图像大小。 为什么getimagesize()会显示这些图片的错误?
错误:
Warning: getimagesize(http://127.0.0.1/img 1.jpg) [function.getimagesize]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found...
如果我在浏览器中运行图片:http://127.0.0.1/img 1.jpg一切都很好(所以链接很好)。
完整代码:
<?php
require_once('simple_html_dom.php');
$string = str_get_html('some text some text <img src = "http://127.0.0.1/img 1.jpg" /> text .... ');
foreach($string->find('img') as $e)
$img[] = $e->src;
$img_1 = getimagesize($img[0]);
print_r($img_1);
?>
答案 0 :(得分:1)
您应该使用文件,而不是网址。
答案 1 :(得分:0)
根据我的评论:
确保运行php脚本的服务器具有对该文件的实际访问权限。在这种情况下,当您尝试从127.0.0.1获取图像时,php服务器必须与图像所在的服务器相同。
如果您尝试从远程服务器运行它,它当然不起作用。当您在浏览器中打开路径时,您正在访问本地服务器(在您自己的计算机上),但外部服务器将无法以这种方式访问它。如果它在您的网络中,请使用您的真实IP或主机名;如果它不在您的网络中,则必须使您的本地服务器公开可用,或者只是将图像移动到其他地方。