繁体   English   中英

使用 imagejpeg() 函数保存图像文件

[英]Using imagejpeg() function to save image file

我正在尝试将图片上传到两个不同的目录中,并且我想使用imagejpeg()函数将图片放在其中一个目录中。 这两个目录称为uploadsresized

这是我完成此操作的代码:

$tmp_name = $_FILES["fileToUpload"]["tmp_name"];
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
    imagejpeg($tmp_name,"resized/newimage.jpg");

    echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
} 

但是,我不断收到错误imagejpeg() expects parameter 1 to be resource, string given in /home/sites/aejhyun.com/public_html/Syrian Project/upload.php on line 41 我还通过查看http://php.net/manual/en/function.imagejpeg.phphttp://php.net/manual/en/function.move-uploaded-file.php进行了一些研究。 但是,我无法弄清楚这个问题。 有人可以帮忙吗?

您将字符串设置为 $tmp_name 而不是图像资源本身,该函数需要实际图像而不是它的位置或名称,如果您想调整它的大小,首先您必须将其作为图像打开,然后做任何您想做的事情,最后保存,

所以,这是字符串

$tmp_name = $_FILES["fileToUpload"]["tmp_name"];

将其移动到$target_file 后,您可以将其作为图像打开

$image = imagecreatefromjpeg($target_file);

现在你有了 Image 本身,而不仅仅是一个文件名,你可以用imagejpeg保存它

imagejpeg($image,"resized/newimage.jpg");

这对我有用

$url = 'my_img_url.jpeg';
$binary = imagecreatefromstring(file_get_contents($url));
imageJpeg($binary, "myimage.jpg", 100);

暂无
暂无

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

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