任何人都知道如何上传图像,调整大小以设置维度,然后将图像路径存储在MySQL中的一个很好的PHP教程?图片上传,在MySQL中调整存储路径大小
0
A
回答
0
我用这个功能来做到这一点,非常简单和易于使用的信息。首先把这个功能放到你可以称之为的地方。
public function Resize_image($width = 0, $height = 0, $quality = 90, $filename_in = null, $filename_out = null)
{
$this->Filename = $filename_in;
$this->Extension = strtolower($this->Get_file_extension($this->Filename));
$size = getimagesize($this->Filename);
$ratio = $size[0]/$size[1];
if ($ratio >= 1){
$scale = $width/$size[0];
} else {
$scale = $height/$size[1];
}
// make sure its not smaller to begin with!
if ($width >= $size[0] && $height >= $size[1]){
$scale = 1;
}
// echo $fileext;
switch ($this->Extension)
{
case "jpg":
$im_in = imagecreatefromjpeg($this->Filename);
$im_out = imagecreatetruecolor($size[0] * $scale, $size[1] * $scale);
imagecopyresampled($im_out, $im_in, 0, 0, 0, 0, $size[0] * $scale, $size[1] * $scale, $size[0], $size[1]);
imagejpeg($im_out, $filename_out, $quality);
break;
case "gif":
$im_in = imagecreatefromgif($this->Filename);
$im_out = imagecreatetruecolor($size[0] * $scale, $size[1] * $scale);
imagecopyresampled($im_out, $im_in, 0, 0, 0, 0, $size[0] * $scale, $size[1] * $scale, $size[0], $size[1]);
imagegif($im_out, $filename_out, $quality);
break;
case "png":
$im_in = imagecreatefrompng($this->Filename);
$im_out = imagecreatetruecolor($size[0] * $scale, $size[1] * $scale);
imagealphablending($im_in, true); // setting alpha blending on
imagesavealpha($im_in, true); // save alphablending setting (important)
imagecopyresampled($im_out, $im_in, 0, 0, 0, 0, $size[0] * $scale, $size[1] * $scale, $size[0], $size[1]);
imagepng($im_out, $filename_out, 9);
break;
}
imagedestroy($im_out);
imagedestroy($im_in);
}
现在你可以使用这个功能,像这样来调整图像并将其复制到所需的目录。
Resize_image($width, $height, $quality=90, $filename_in, $filename_out)
Example..
Resize_image(150, 150, 90, "Directory".$image, "Directory".$image_without_extension."_thumb.".$image_ext); //makes file_thumb.ext
+0
谢谢,结束了使用的这种变体。 – RonnieT
2
你可能想看看PHP文档:Handling file uploads,GD and Image Functions。
一般情况下,你必须:
- 上传文件(并检查它是否是真正的用
is_uploaded_file
上传的文件) - 检测图像类型与
getimagesize
然后用适当的imagecreatefrom*
函数来创建图像资源($img
$thumb = imagecreatetruecolor($width, $height); imagecopyresampled($thumb, $img, 0, 0, 0, 0, $width, $height, imagexs($img), imagesy($img));
:像这样的东西)
调整图像大小
保存缩略图:
imagejpeg($thumb, 'file.jpg', 85); imagedestroy($thumb); // free memory imagedestroy($img); // free memory
保存,你需要你的MySQL数据库
相关问题
- 1. Android Firebase调整图片大小并上传到Firebase存储
- 2. 上传后调整图片大小
- 3. 上传前调整图片的大小
- 4. 上传时调整图片的大小
- 5. 在将图片上传到Firebase之前调整图片大小
- 6. 通过PHP上传图片,将图片路径保存到MySQL
- 7. 上传图片在数据库中的存储路径
- 8. 如何上传图片,调整其大小以及如何在codeigniter中显示调整大小的图片?
- 9. 上传图片然后调整图片大小
- 10. Cakephp 2+上传图片时调整图片大小和裁剪
- 11. 调整图片大小在轨道上
- 12. php图片调整大小不能在图像上传
- 13. 在窗口中调整大小剪裁路径在WPF中调整大小
- 14. 在上传时发送调整大小的图像的路径php
- 15. 图片上传路径
- 16. MVC3图片上传路径
- 17. 客户图片在Magento上传并调整大小
- 18. 在上传HTML文件之前调整图片的大小5
- 19. firebase for web - 如何在上传时调整图片大小
- 20. 在Magick.Net中调整图片大小
- 21. 在Tkinter PIL中调整图片大小
- 22. 在React Native中调整图片大小
- 23. 图片调整大小php
- 24. attachment_fu图片调整大小与s3存储
- 25. PHP图像调整大小与存储调整大小的图像
- 26. 调整上传图像的大小 - PHP
- 27. symfony图像上传调整大小
- 28. 调整图像大小并上传
- 29. Symfony2:调整上传图像的大小
- 30. 上传的WordPress图像大小调整
[上传文件使用AJAX(http://net.tutsplus.com/tutorials/javascript-ajax/uploading-files-with-ajax/) – j3ffz