ホームページ > バックエンド開発 > PHPチュートリアル > PHP_PHPチュートリアルでのサムネイル生成の実装方法についての詳細な説明

PHP_PHPチュートリアルでのサムネイル生成の実装方法についての詳細な説明

WBOY
リリース: 2016-07-15 13:33:17
オリジナル
852 人が閲覧しました

サムネイルのHTMLコードを生成するために

PHPを使用しています

  1. !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. HTML>
  3. HEAD>
  4. タイトル > 写真をアップロード /TITLE>
  5. メタ名前 =「ジェネレーター」コンテンツ=「EditPlus」>
  6. 名前>メタ 名前
  7. =
  8. 「キーワード」 コンテンツ=""> メタ 名前
  9. =
  10. "説明" CONTENT= " http-equiv="Content-Type" コンテンツ ="text/html; charset=gbk"/>
  11. /HEAD >>
  12. フォーム 方法=「投稿」 アクション="tu.php? act=upload" enctype="multipart/form-data" >
  13. p> INPUT TYPE="ファイル" 名前=」ファイル「/> /p>
  14. p> INPUT TYPE=「送信」 =「ハオ」/> INPUT TYPE= 「リセット」/> /p >
  15. /FORM>
  16. /BODY>
  17. /HTML>


PHP生成缩略図 PHP 代コード

<ol class="dp-xml">
<li class="alt"><span><span class="tag"><span> ?php  </span></span></span></li>
<li><span>/*后台登陆界面  </span></li>
<li class="alt"><span>*黄春龙学习编写  </span></li>
<li><span>*首写时间:2009-10-27  </span></li>
<li class="alt"><span>*更新时间:2009/11/24  </span></li>
<li><span>*/  </span></li>
<li class="alt"><span>require_once '../xmphp/init.php';</span></li>
<li class="alt"><span>//全站配置文件  </span></li>
<li><span>require_once XMPHP_COMMON.'/smarty.php';</span></li>
<li><span>//smarty功能  </span></li>
<li class="alt"><span>require_once XMPHP_COMMON.'/mysql.php';</span></li>
<li class="alt"><span>//mysql功能  </span></li>
<li><span>require_once XMPHP_COMMON.'/func.php';</span></li>
<li><span>//常用函数  </span></li>
<li class="alt"><span>if(isset($_GET['act'])&&$_GET['act']<br>=='upload'){  </span></li>
<li>
<span>$</span><span class="attribute">file</span><span>=$_FILES['file'];  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">info</span><span>=</span><span class="attribute-value">pathinfo</span><span>($file['name']);  </span>
</li>
<li>
<span>$</span><span class="attribute">a</span><span>=</span><span class="attribute-value">array</span><span>('jpg','gif','png');  </span>
</li>
<li class="alt"><span>if(!in_array($info['extension'],$a)){  </span></li>
<li><span>alert("请选择jpg,gif,png格式的图片<br>进行上传");  </span></li>
<li class="alt"><span>exit;  </span></li>
<li><span>}  </span></li>
<li class="alt"><span>if($file['name'] !=''){  </span></li>
<li>
<span>$</span><span class="attribute">dirname</span><span>=</span><span class="attribute-value">date</span><span>('Ym');  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">dirname</span><span>=</span><span class="attribute-value">'../upload/'</span><span>.$dirname;</span>
</li>
<li class="alt"><span>//原图路径  </span></li>
<li>
<span>$</span><span class="attribute">xin</span><span>=$dirname.'/s';//PHP生成缩略图路径  </span>
</li>
<li class="alt"><span>if(!file_exists($xin)){  </span></li>
<li><span>@mkdir($xin);  </span></li>
<li class="alt"><span>}  </span></li>
<li>
<span>$</span><span class="attribute">image1</span><span>=$info['filename'].'120_120'.'.'<br>.$info['extension'];//缩略图名称  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">image2</span><span>=$info['filename'].'300_300'.'.'<br>.$info['extension'];//缩略图名称  </span>
</li>
<li><span>list($imagw,$imagh)=getimagesize($file<br>['tmp_name']);//取得原图的宽高(另外$file<br>['tmp_name']只是一个临时文件路径,有时可能<br>会报错,如报错只需把临时文件路径改成你上传<br>后的原图的路径即可)  </span></li>
<li class="alt"><span>//120图判断各种情况来取得缩略图的宽高  </span></li>
<li>
<span>if($imagw</span><span class="tag"><span> =120&&$imagh</span><span class="tag"><span> =120){  </span></span></span>
</li>
<li class="alt">
<span>$</span><span class="attribute">m120w</span><span>=$imagw;  </span>
</li>
<li>
<span>$</span><span class="attribute">m120h</span><span>=$imagh;  </span>
</li>
<li class="alt">
<span>}elseif($imagw</span><span class="tag">></span><span>$imagh)  </span>
</li>
<li><span>{  </span></li>
<li class="alt">
<span>$</span><span class="attribute">m120w</span><span>=120;  </span>
</li>
<li>
<span>$</span><span class="attribute">m120h</span><span>=</span><span class="attribute-value">intval</span><span>($m120w/number_format(<br>$imagw/$imagh,2));//缩略图的宽除以(原<br>图的宽除以原图的高)number_format查手册  </span>
</li>
<li class="alt"><span>}  </span></li>
<li><span>else  </span></li>
<li class="alt"><span>{  </span></li>
<li>
<span>$</span><span class="attribute">m120h</span><span>=</span><span class="attribute-value">300</span><span>;  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">m120w</span><span>=</span><span class="attribute-value">intval</span><span>($m120h/number_format(<br>$imagh/$imagw,2));//缩略图的高除以(原图<br>的高除以原图的宽)number_format查手册  </span>
</li>
<li><span>}  </span></li>
<li class="alt"><span>//300图判断各种情况来取得缩略图的宽高  </span></li>
<li>
<span>if($imagw</span><span class="tag"><span> =300&&$imagh</span><span class="tag"><span> =300){  </span></span></span>
</li>
<li class="alt">
<span>$</span><span class="attribute">m300w</span><span>=$imagw;  </span>
</li>
<li>
<span>$</span><span class="attribute">m300h</span><span>=$imagh;  </span>
</li>
<li class="alt">
<span>}elseif($imagw</span><span class="tag">></span><span>$imagh){  </span>
</li>
<li>
<span>$</span><span class="attribute">m300w</span><span>=300;  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">m300h</span><span>=</span><span class="attribute-value">intval</span><span>($m300w/number_format(<br>$imagw/$imagh,2));//缩略图的宽除以(原<br>图的宽除以原图的高)number_format查手册  </span>
</li>
<li><span>}else{  </span></li>
<li class="alt">
<span>$</span><span class="attribute">m300h</span><span>=300;  </span>
</li>
<li>
<span>$</span><span class="attribute">m300w</span><span>=</span><span class="attribute-value">intval</span><span>($m300h/number_format(<br>$imagh/$imagw,2));//缩略图的高除以(原<br>图的高除以原图的宽)number_format查手册  </span>
</li>
<li class="alt"><span>}  </span></li>
<li><span>if($info['extension']=='jpg'){  </span></li>
<li class="alt"><span>$info['extension']='jpeg';//判断图像类<br>型如果是JPG的则把它转换成JPEG的因为图像处<br>理函数在处理JPG的时候都是用的JPEG而不是JPG  </span></li>
<li><span>}  </span></li>
<li class="alt">
<span>$</span><span class="attribute">iml</span><span>=</span><span class="attribute-value">'imagecreatefrom'</span><span>.$info['extension'];</span>
</li>
<li class="alt"><span>//取得不同图片格式的不同函数  </span></li>
<li>
<span>$</span><span class="attribute">yuan</span><span>=$iml($file['tmp_name']);</span>
</li>
<li><span>//根据前面取的不同函数来取的原图的标识  </span></li>
<li class="alt">
<span>$</span><span class="attribute">mu1</span><span>=</span><span class="attribute-value">imagecreatetruecolor</span><span>($m120w,$m120h);</span>
</li>
<li class="alt"><span>//取的要生成的缩略图的标识  </span></li>
<li>
<span>$</span><span class="attribute">mu2</span><span>=</span><span class="attribute-value">imagecreatetruecolor</span><span>($m300w,$m300h);</span>
</li>
<li><span>//取的要生成的缩略图的标识  </span></li>
<li class="alt">
<span>$</span><span class="attribute">c</span><span>=</span><span class="attribute-value">'image'</span><span>.$info['extension'];</span>
</li>
<li class="alt"><span>//生成输出缩略图的函数,不能分开写,否则报错  </span></li>
<li><span>imagecopyresampled($mu1,$yuan,0,0,0,<br>0,$m120w,$m120h,$imagw,$imagh);//生成缩略图120  </span></li>
<li class="alt">
<span>$</span><span class="attribute">res</span><span>=$c($mu1,$xin.'/'.$image1);</span>
</li>
<li class="alt"><span>//存放缩略图  </span></li>
<li><span>if(!$res){  </span></li>
<li class="alt"><span>alert('生成120缩略图失败');  </span></li>
<li><span>exit;  </span></li>
<li class="alt"><span>}  </span></li>
<li><span>imagecopyresampled($mu2,$yuan,0,0<br>,0,0,$m300w,$m300h,$imagw,$imagh);</span></li>
<li><span>//PHP生成缩略图生成缩略图120  </span></li>
<li class="alt">
<span>$</span><span class="attribute">res</span><span>=$c($mu2,$xin.'/'.$image2);</span>
</li>
<li class="alt"><span>//存放缩略图  </span></li>
<li><span>if($res){  </span></li>
<li class="alt"><span>alert('生成300缩略图成功');  </span></li>
<li><span>exit;  </span></li>
<li class="alt"><span>}  </span></li>
<li><span>}  </span></li>
<li class="alt"><span>}  </span></li>
<li>
<span>$tpl-</span><span class="tag">></span><span>display("tu/tu.html");  </span>
</li>
<li class="alt">
<span class="tag">?></span><span> </span>
</li>
</ol>
ログイン後にコピー

以上の第 1 段階の代コードの例つまり、PHP による略図生成の関連実装方法です。


http://www.bkjia.com/PHPjc/446079.html

本当http://www.bkjia.com/PHPjc/446079.html技術記事我们在运用 PHP 生成缩略图HTML代码 !DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN" > HTML > HEAD > TITLE > 上传图片 /TITLE > META NAME = "Generator" CONTENT =...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート