在服务器上有许多图片,它们的图片都有带空格的名称,例如: 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);
?>发布于 2010-10-01 04:09:47
您应该使用文件,而不是urls。
发布于 2010-10-01 04:18:20
基于我的评论:
确保运行php脚本的服务器能够实际访问该文件。在这种情况下,当您尝试从127.0.0.1获取图像时,php服务器必须与图像所在的服务器相同。
如果你试图从远程服务器上运行它,它当然不能工作。当您在浏览器中打开路径时,您正在访问本地服务器(在您自己的计算机上),但外部服务器将无法以这种方式访问它。如果它在您的网络中,请改用您的真实IP或主机名;如果它不在您的网络中,则必须使您的本地服务器公开可用,或者简单地将映像移动到其他地方。
https://stackoverflow.com/questions/3834374
复制相似问题