HTML > HEAD > TITLE > 上传图片 /TITLE > META NAME = "Generator" CONTENT ="/>

深入探讨PHP生成缩略图的实现方法_PHP教程

原创
2016-07-15 13:33:17 610浏览

我们在运用

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. BODY>
  12. FORM METHOD="POST" ACTION="tu.php?act=upload" enctype="multipart/form-data" >
  13. p> INPUT TYPE="file" NAME="file"/> /p>
  14. p> INPUT TYPE="submit" value="hao"/> INPUT TYPE="reset"/> /p>
  15. /FORM>
  16. /BODY>
  17. /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.'//m.sbmmt.com/m/'.$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.'//m.sbmmt.com/m/'.$image2);
  82. //存放缩略图
  83. if($res){
  84. alert('生成300缩略图成功');
  85. exit;
  86. }
  87. }
  88. }
  89. $tpl->display("tu/tu.html");
  90. ?>

以上这一大段的代码示例就是PHP生成缩略图的相关实现方法。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446079.htmlTechArticle我们在运用 PHP生成缩略图HTML代码 !DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN" > HTML > HEAD > TITLE > 上传图片 /TITLE > META NAME = "Generator" CONTENT =...
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。