php,getimagesize

时间:2010-09-30 20:02:30

标签: php

在服务器上有很多图片,它们的图片都有空格的名字,例如: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);
?>

2 个答案:

答案 0 :(得分:1)

您应该使用文件,而不是网址。

答案 1 :(得分:0)

根据我的评论:

确保运行php脚本的服务器具有对该文件的实际访问权限。在这种情况下,当您尝试从127.0.0.1获取图像时,php服务器必须与图像所在的服务器相同。

如果您尝试从远程服务器运行它,它当然不起作用。当您在浏览器中打开路径时,您正在访问本地服务器(在您自己的计算机上),但外部服务器将无法以这种方式访问​​它。如果它在您的网络中,请使用您的真实IP或主机名;如果它不在您的网络中,则必须使您的本地服务器公开可用,或者只是将图像移动到其他地方。