imagecreatefromjpeg()函数没有获取文件

时间:2013-03-16 12:35:30

标签: php

imagecreatefromjpeg()函数表示文件不存在,但是当我使用file_exists()函数检查时,它表示存在。

PHP代码就像,

    $path = "/home/content/html/uploads/test.jpg";

    if(file_exists($path)) {
        echo "Exists!";
    } else {
        echo "File Not Exists!";
    }    

    $resize = new Resize($path, $img['name']);
    $resize->resizeImage($size[0], $size[1]);
    $resize->preview();

我的输出就像,

Exists!
Warning: imagecreatefromjpeg(/home/content/html/uploads/test.jpg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in /home/content/html/includes/resize.php on line 20

目录结构,

  • / HTML
    • /上传
      • test.jpg放在
    • 的index.php

1 个答案:

答案 0 :(得分:0)

好的,我得到了解决方案。但首先我要感谢所有帮助我的人。

这是一个非常奇怪的问题。在服务器中,只有存在没有“空格”的文件路径时,imagecreatefromjpeg()才会起作用。

如果我使用rawurlencode()将空格转换为%20,那么问题仍然存在,所以我需要做的是,在文件上传期间使用str_replace()函数将空格转换为其他内容。

str_replace(" ", "_", $filename);

在localhost上我使用的是“test.jpg”文件,但是在服务器上有很多不同的文件,其名称中有空格,所以我在qustion中使用“test.jpg”。 (对不起)