这是将图像存储在图像文件夹中的正确方法吗?(在php中)

时间:2013-09-21 08:03:06

标签: php

($ data编码为jpg图像&然后通过以下代码对其进行解码&尝试将其存储在图像文件夹中)

 $data = base64_decode($data);         //decoded image
 $im = imagecreatefromstring($data); 
 if ($im !== false) 
 {
   header('Content-Type: image/jpg');
   imagejpeg($im);
   imagedestroy($im);
 }
 else
 {
   echo 'An error occurred.';
 }
 // storing it in image folder on 
 $success = file_put_contents('images/5.jpg',$im);
 echo $success ? $im : 'Unable to save the file.';  

2 个答案:

答案 0 :(得分:2)

$im变量不包含图像数据,它是一个不透明的资源,可以与gd函数一起使用,但没有别的。将其写入文件将无法满足您的需求。

要将图像保存为JPEG,您应使用imagejpeg功能并提供文件路径作为第二个参数。或者,如果原始图像数据已经是JPEG格式,您可以将$data字符串写入文件(在这种情况下,为什么还要将其解码为图像?)。

答案 1 :(得分:0)

你可以用这个

吗?
chdir('images');

// and then 

$success = file_put_contents('5.jpg',$im);

是否可以更改目前的工作目录

检查此chdir