PHP中如何生成缩略图

发布时间:2021-08-06 15:36:11 作者:Leah
来源:亿速云 阅读:136

这篇文章给大家介绍PHP中如何生成缩略图,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

PHP生成缩略图HTML代码

  1. < !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 

  2. < HTML> 

  3. < HEAD> 

  4. < TITLE> 上传图片 < /TITLE> 

  5. < META NAME="Generator" CONTENT="EditPlus"> 

  6. < META NAME="Author" CONTENT=""> 

  7. < META NAME="Keywords" CONTENT=""> 

  8. < META NAME="Description" CONTENT=""> 

  9. < meta http-equiv="Content-Type" content="text/html; charset=gbk" /> 

  10. < /HEAD> 

  11.  

  12. < BODY> 

  13. < FORM METHOD="POST" ACTION="tu.php?act=upload" enctype="multipart/form-data" > 

  14. < p>< INPUT TYPE="file" NAME="file"/>< /p> 

  15. < p>< INPUT TYPE="submit" value="hao"/>  < INPUT TYPE="reset"/>< /p> 

  16. < /FORM> 

  17. < /BODY> 

  18. < /HTML> 


PHP生成缩略图PHP代码

  1. < ?php  

  2. /*后台登陆界面  

  3. *黄春龙学习编写  

  4. *首写时间:2009-10-27  

  5. *更新时间:2009/11/24  

  6. */  

  7. require_once '../xmphp/init.php';

  8. //全站配置文件  

  9. require_once XMPHP_COMMON.'/smarty.php';

  10. //smarty功能  

  11. require_once XMPHP_COMMON.'/mysql.php';

  12. //mysql功能  

  13. require_once XMPHP_COMMON.'/func.php';

  14. //常用函数  

  15. if(isset($_GET['act'])&&$_GET['act']
    =='upload'){  

  16. $file=$_FILES['file'];  

  17. $info=pathinfo($file['name']);  

  18. $a=array('jpg','gif','png');  

  19. if(!in_array($info['extension'],$a)){  

  20. alert("请选择jpg,gif,png格式的图片
    进行上传");  

  21. exit;  

  22. }  

  23. if($file['name'] !=''){  

  24. $dirname=date('Ym');  

  25. $dirname='../upload/'.$dirname;

  26. //原图路径  

  27. $xin=$dirname.'/s';//PHP生成缩略图路径  

  28. if(!file_exists($xin)){  

  29. @mkdir($xin);  

  30. }  

  31. $image1=$info['filename'].'120_120'.'.'
    .$info['extension'];//缩略图名称  

  32. $image2=$info['filename'].'300_300'.'.'
    .$info['extension'];//缩略图名称  

  33. list($imagw,$imagh)=getimagesize($file
    ['tmp_name']);//取得原图的宽高(另外$file
    ['tmp_name']只是一个临时文件路径,有时可能
    会报错,如报错只需把临时文件路径改成你上传
    后的原图的路径即可)  

  34. //120图判断各种情况来取得缩略图的宽高  

  35. if($imagw< =120&&$imagh< =120){  

  36. $m120w=$imagw;  

  37. $m120h=$imagh;  

  38. }elseif($imagw>$imagh)  

  39. {  

  40. $m120w=120;  

  41. $m120h=intval($m120w/number_format(
    $imagw/$imagh,2));//缩略图的宽除以(原
    图的宽除以原图的高)number_format查手册  

  42. }  

  43. else  

  44. {  

  45. $m120h=300;  

  46. $m120w=intval($m120h/number_format(
    $imagh/$imagw,2));//缩略图的高除以(原图
    的高除以原图的宽)number_format查手册  

  47. }  

  48. //300图判断各种情况来取得缩略图的宽高  

  49. if($imagw< =300&&$imagh< =300){  

  50. $m300w=$imagw;  

  51. $m300h=$imagh;  

  52. }elseif($imagw>$imagh){  

  53. $m300w=300;  

  54. $m300h=intval($m300w/number_format(
    $imagw/$imagh,2));//缩略图的宽除以(原
    图的宽除以原图的高)number_format查手册  

  55. }else{  

  56. $m300h=300;  

  57. $m300w=intval($m300h/number_format(
    $imagh/$imagw,2));//缩略图的高除以(原
    图的高除以原图的宽)number_format查手册  

  58. }  

  59. if($info['extension']=='jpg'){  

  60. $info['extension']='jpeg';//判断图像类
    型如果是JPG的则把它转换成JPEG的因为图像处
    理函数在处理JPG的时候都是用的JPEG而不是JPG  

  61. }  

  62. $iml='imagecreatefrom'.$info['extension'];

  63. //取得不同图片格式的不同函数  

  64. $yuan=$iml($file['tmp_name']);

  65. //根据前面取的不同函数来取的原图的标识  

  66. $mu1=imagecreatetruecolor($m120w,$m120h);

  67. //取的要生成的缩略图的标识  

  68. $mu2=imagecreatetruecolor($m300w,$m300h);

  69. //取的要生成的缩略图的标识  

  70. $c='image'.$info['extension'];

  71. //生成输出缩略图的函数,不能分开写,否则报错  

  72. imagecopyresampled($mu1,$yuan,0,0,0,
    0,$m120w,$m120h,$imagw,$imagh);//生成缩略图120  

  73. $res=$c($mu1,$xin.'/'.$image1);

  74. //存放缩略图  

  75. if(!$res){  

  76. alert('生成120缩略图失败');  

  77. exit;  

  78. }  

  79. imagecopyresampled($mu2,$yuan,0,0
    ,0,0,$m300w,$m300h,$imagw,$imagh);

  80. //PHP生成缩略图生成缩略图120  

  81. $res=$c($mu2,$xin.'/'.$image2);

  82. //存放缩略图  

  83. if($res){  

  84. alert('生成300缩略图成功');  

  85. exit;  

  86. }  

  87. }  

  88. }  

  89. $tpl->display("tu/tu.html");  

  90. ?> 

关于PHP中如何生成缩略图就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. php中gd无法生成缩略图怎么办
  2. php生成缩略图的案例分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php

上一篇:PHP中怎么颠倒字符串顺序

下一篇:如何解决某些HTML字符打不出来的问题

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》