无法打开PHP-GD imagejpeg

无法打开PHP-GD imagejpeg,php,gd,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中没有这样的文件

尝试保存用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


这里可能有什么问题?

您从哪里运行文件?如果它来自
服务器端
目录,那么我认为您缺少了一个“.”

试试这个:

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

目录

../../img/thumbs/  
相当于

 /home/user/workspace/img/thumbs/
所以你需要

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

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

因此,您可以在
config.php中

define('APPLICATION_PATH',  dirname(__FILE__));
然后在functions.php中调用imagejpeg,如下所示:

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

变量转储(realpath(“../../img/thumbs”);返回bool(false)。从php.net:realpath()在失败时返回false,例如,如果文件不存在。检查路径,尝试使用绝对路径。我得到了错误的响应:。我有一种感觉,它没有保存我上传的图像到服务器的任何地方。我将尝试直接上传,而不是调整大小,看看会发生什么。很抱歉,在编写问题时出错:/home/user/workspace/img/thumbs的权限设置为0x777。它找不到该文件,但这不应该是一个问题,因为如果它不存在,imagejpeg函数应该创建它。您使用的是什么版本的GD?
@imagejpeg($image, APPLICATION_PATH . '/uploads/myfile.jpg', $quality);