Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:imagePNG()不会将文件保存到目录。文件权限全部正确,仍然不';行不通_Php_Watermark - Fatal编程技术网

PHP:imagePNG()不会将文件保存到目录。文件权限全部正确,仍然不';行不通

PHP:imagePNG()不会将文件保存到目录。文件权限全部正确,仍然不';行不通,php,watermark,Php,Watermark,我写的程序,水印用户上传的照片。完成分层后,imagePNG()将照片输出到浏览器,但不会将其保存到目录。路径都正确,文件权限更改为0755。仅使用函数的第一个参数(imagePNG($image))输出图像,但是当添加路径时(imagePNG($image,“photo_uploads/”)“$album_name/”) 代码: 我已经尝试过其他类似问题的所有解决方案。该函数将继续输出修改后的图像,除非将要保存到的路径添加为第二个参数。我认为您在目录中的路径不正确。原因是它应该将文件保存或

我写的程序,水印用户上传的照片。完成分层后,imagePNG()将照片输出到浏览器,但不会将其保存到目录。路径都正确,文件权限更改为0755。仅使用函数的第一个参数(imagePNG($image))输出图像,但是当添加路径时(imagePNG($image,“photo_uploads/”)“$album_name/”)

代码:



我已经尝试过其他类似问题的所有解决方案。该函数将继续输出修改后的图像,除非将要保存到的路径添加为第二个参数。

我认为您在目录中的路径不正确。原因是它应该将文件保存或输出到浏览器,而不是两者都保存。如果文件名为空,则它将输出到浏览器。尝试使用完整路径名

文件名不以斜杠结尾
这是不正确的:

$save = "photo_uploads/" . $album_name . "/";
这有更多的工作机会:

imagePNG($im, $path);
使用完整路径:

/home/user/public_html/photo_uploads/something.png
我就是这样做的:

  ob_start();
  imagepng($newPic, NULL, 9);
  $png = ob_get_clean();
  ob_clean();
  ob_end_flush();
  $fp = fopen($filename  ,"w");
  fwrite($fp, $png);
  fclose($fp);
然后输出到浏览器(缩放):

$base64=base64\u编码($png);
回声“;

没有任何错误消息?没有。图像不会输出或保存到目录。您的意思是第二个参数不是要将文件保存到的目录的路径吗?我的印象是第一次输出图像,第二次保存到指定的目录。它应该是一个文件名而不是路径
  ob_start();
  imagepng($newPic, NULL, 9);
  $png = ob_get_clean();
  ob_clean();
  ob_end_flush();
  $fp = fopen($filename  ,"w");
  fwrite($fp, $png);
  fclose($fp);
  $base64 = base64_encode($png);
  echo "<img  width=\"$newWidth\" height=\"$newHeight\" src=\"data:image/png;base64,$base64\"  alt =\"profile photo\"/>";