当前位置:Gxlcms > PHP教程 > 如何在服务器端调整图片大小

如何在服务器端调整图片大小

时间:2021-07-01 10:21:17 帮助过:19人阅读

在服务器端完成图片大小的调整,会比在浏览器的处理有很多的好处。
本文介绍了PHP如何在服务器端调整图片大小。
代码包括两部分:
  • imageResizer() is used to process the image
  • loadimage() inserts the image url in a simpler format
  1. function imageResizer($url, $width, $height) {
  2. header('Content-type: image/jpeg');
  3. list($width_orig, $height_orig) = getimagesize($url);
  4. $ratio_orig = $width_orig/$height_orig;
  5. if ($width/$height > $ratio_orig) {
  6. $width = $height*$ratio_orig;
  7. } else {
  8. $height = $width/$ratio_orig;
  9. }
  10. // This resamples the image
  11. $image_p = imagecreatetruecolor($width, $height);
  12. $image = imagecreatefromjpeg($url);
  13. imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
  14. // Output the image
  15. imagejpeg($image_p, null, 100);
  16. }
  17. //works with both POST and GET
  18. $method = $_SERVER['REQUEST_METHOD'];
  19. if ($method == 'GET') {
  20. imageResize($_GET['url'], $_GET['w'], $_GET['h']);
  21. } elseif ($method == 'POST') {
  22. imageResize($_POST['url'], $_POST['w'], $_POST['h']);
  23. }
  24. // makes the process simpler
  25. function loadImage($url, $width, $height){
  26. echo 'image.php?url=', urlencode($url) ,
  27. '&w=',$width,
  28. '&h=',$height;
  29. }
  30. ?>
  1. //Above code would be in a file called image.php.
  2. //Images would be displayed like this:

人气教程排行