繁体   English   中英

php imagejpeg()无法打开,没有此类文件或目录或权限被拒绝

[英]php imagejpeg() Unable to open, No such file or directory or permission denied

将缩略图图像写入以下目录时出现以下错误

Warning: imagejpeg() [function.imagejpeg]: Unable to open 'D:\imagesdb\images\62t\' for    writing: No such file or directory

如果我手动创建一个目录,然后将其添加到imagejpeg()例如:C:\\ images我得到相同的错误,这也适用于我使用fopen

Warning: fopen(C:\images\) [function.fopen]: failed to open stream: No such file or directory

所有路径都存在! 我还检查了varibles以查看路径是否正确并且我没有丢失数据,(var_dump!)

我也尝试过chmod,但我使用的是Windows,这应该不适用?

我在用

Windows XP Home Edition SP3 running localhost, XAMMP, apache, php

我担心如果它是我正在使用的操作系统版本,我已尝试在'services'中给apache服务本地系统帐户访问,尝试共享该文件夹!

我可以在上传到同一目录中的另一个文件夹'images \\ 62'上写一个正常的图像,但是'images \\ 62t'要么被拒绝,要么在我试着写拇指时不存在?

我已经检查过php.ini,gd已启用,我尝试取消注释:extension = php_gd2.dll,安全模式也关闭。

我担心如果它是我的操作系统版本,它在文件权限方面有限吗? 或者只是我的代码?

if($this->changed){
    //$tp = fopen("C:\images\\",'w+');
    chmod($this->thumb_path, 0777);
    $originalImage = imagecreatefromjpeg($this->image_path);
    $width = imagesx($originalImage);
    $height = imagesy($originalImage);

    $thumb_width = $this->thumbWidth;
    $thumb_height = floor($height * ($this->thumbWidth / $width));
    $newImage = imagecreatetruecolor($thumb_width,$thumb_height);
    imagecopyresized($newImage,$originalImage, 0, 0, 0, 0, $thumb_width, $thumb_height,  $width, $height );
    imagejpeg($newImage,$this->thumb_path);

} else {
           $this->_messages[] = $field['name' ] . 'did not upload please check and try again' ;
}

$this->thumb_path可能只包含没有文件名的路径。 没有文件名:PHP应该如何命名文件?

尝试放置相对路径而不是将绝对路径放在imagejpeg中,至少我是如何解决这个问题的。

$image_path=getcwd()."/your_images_directory/yourfile.jpg";

chmod您的目录到775或任何提供您的要求。

此堆栈具有权限建议

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM