使用 imagejpeg() 函数保存图像文件
Using imagejpeg() function to save image file
我正在尝试将图片上传到两个不同的目录中,我想使用 imagejpeg()
功能将图片放入其中一个目录中。这两个目录称为 uploads
和 resized
。
这是我实现此目的的代码:
$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.php and http://php.net/manual/en/function.move-uploaded-file.php 进行了一些研究。但是,我无法弄清楚这个问题。有人可以帮忙吗?
您将字符串设置为 $tmp_name 而不是图像资源本身,该函数需要实际图像而不是它的位置或名称,如果您想调整它的大小,首先您必须将它打开为图像然后做任何你想做的最后保存,
所以,这是字符串
$tmp_name = $_FILES["fileToUpload"]["tmp_name"];
将其移动到 $target_file 后,您可以将其作为图片打开
$image = imagecreatefromjpeg($target_file);
现在您拥有图像本身而不仅仅是文件名,您可以使用 imagejpeg
保存它
imagejpeg($image,"resized/newimage.jpg");
这对我有用
$url = 'my_img_url.jpeg';
$binary = imagecreatefromstring(file_get_contents($url));
imageJpeg($binary, "myimage.jpg", 100);
我正在尝试将图片上传到两个不同的目录中,我想使用 imagejpeg()
功能将图片放入其中一个目录中。这两个目录称为 uploads
和 resized
。
这是我实现此目的的代码:
$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.php and http://php.net/manual/en/function.move-uploaded-file.php 进行了一些研究。但是,我无法弄清楚这个问题。有人可以帮忙吗?
您将字符串设置为 $tmp_name 而不是图像资源本身,该函数需要实际图像而不是它的位置或名称,如果您想调整它的大小,首先您必须将它打开为图像然后做任何你想做的最后保存,
所以,这是字符串
$tmp_name = $_FILES["fileToUpload"]["tmp_name"];
将其移动到 $target_file 后,您可以将其作为图片打开
$image = imagecreatefromjpeg($target_file);
现在您拥有图像本身而不仅仅是文件名,您可以使用 imagejpeg
保存它imagejpeg($image,"resized/newimage.jpg");
这对我有用
$url = 'my_img_url.jpeg';
$binary = imagecreatefromstring(file_get_contents($url));
imageJpeg($binary, "myimage.jpg", 100);