任何人都知道如何上傳圖像,調整大小以設置維度,然後將圖像路徑存儲在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. 上傳圖片在數據庫中的存儲路徑
- 7. 上上傳調整照片的大小
- 8. 通過PHP上傳圖片,將圖片路徑保存到MySQL
- 9. 如何上傳圖片,調整其大小以及如何在codeigniter中顯示調整大小的圖片?
- 10. 上傳圖片然後調整圖片大小
- 11. Cakephp 2+上傳圖片時調整圖片大小和裁剪
- 12. 調整圖片大小在軌道上
- 13. php圖片調整大小不能在圖像上傳
- 14. 在窗口中調整大小剪裁路徑在WPF中調整大小
- 15. 如何在CodeIgniter中上傳圖片時調整圖片大小功能
- 16. 在上傳時發送調整大小的圖像的路徑php
- 17. 圖片上傳路徑
- 18. MVC3圖片上傳路徑
- 19. 客戶圖片在Magento上傳並調整大小
- 20. 在上傳HTML文件之前調整圖片的大小5
- 21. 提起圖像上傳,調整大小,存儲在數據庫中,顯示
- 22. 圖片只在Chrome中調整大小?
- 23. 在powerpoint 2007中調整圖片大小
- 24. 在React Native中調整圖片大小
- 25. 在Tkinter PIL中調整圖片大小
- 26. 在Magick.Net中調整圖片大小
- 27. RahpaelJS圖片大小調整
- 28. CoreGraphics圖片大小調整
- 29. java,圖片大小調整
- 30. 圖片調整大小php
[上傳文件使用AJAX(http://net.tutsplus.com/tutorials/javascript-ajax/uploading-files-with-ajax/) – j3ffz