PHP-GD imagejpeg无法打开

时间:2009-04-16 16:45:16

标签: php gd

尝试保存使用GD制作的缩略图时

imagejpeg($tnImage, "../../img/thumbs/".$maxWidth."x".$maxHeight."_".$filename);

我收到以下错误:

警告:imagejpeg()[function.imagejpeg]:无法打开'../../img/thumbs/80x80_55865-drops.jpg'进行写入:没有此类文件或目录 /home/user/workspace/stewart/server-side/libImg.php

/ home / user / workspace / img / thumbs将其权限设置为0x777。

这里有什么不妥?

3 个答案:

答案 0 :(得分:1)

你在哪里运行文件?如果它来自server-side目录,那么我认为你错过了一个“../"

试试这个:

var_dump(realpath("../../img/thumbs/".$maxWidth."x".$maxHeight."_".$filename));

答案 1 :(得分:1)

/home/user/workspace/stewart/server-side/

目录

../../img/thumbs/  

等同于

 /home/user/workspace/img/thumbs/

所以你需要

../../../img/thumbs/

答案 2 :(得分:1)

解决方法是为imagejpeg提供文件的完整路径。

所以你可以拥有像config.php这样的东西

define('APPLICATION_PATH',  dirname(__FILE__));

然后在你的functions.php中调用imagejpeg,如下所示:

@imagejpeg($image, APPLICATION_PATH . '/uploads/myfile.jpg', $quality);