PHP:imagePNG()不会将文件保存到目录。文件权限全部正确,仍然不';行不通
我写的程序,水印用户上传的照片。完成分层后,imagePNG()将照片输出到浏览器,但不会将其保存到目录。路径都正确,文件权限更改为0755。仅使用函数的第一个参数(imagePNG($image))输出图像,但是当添加路径时(imagePNG($image,“photo_uploads/”)“$album_name/”) 代码:PHP:imagePNG()不会将文件保存到目录。文件权限全部正确,仍然不';行不通,php,watermark,Php,Watermark,我写的程序,水印用户上传的照片。完成分层后,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\"/>";