ホームページ  >  記事  >  バックエンド開発  >  ThinkPHP を使用してサムネイルを生成し、表示する方法

ThinkPHP を使用してサムネイルを生成し、表示する方法

墨辰丷
墨辰丷オリジナル
2018-05-23 14:16:292811ブラウズ

この記事では主に ThinkPHP を使用してサムネイルを生成し、表示するための関連情報を詳しく紹介します。興味のある方は参考にしてください。参照できます

まず、親クラスImage.class.php (ThinkPHP/Library/Think/Image.class.php)のいくつかの関数を理解します

1:open()は、処理された画像を開きます

2:thumb()デフォルトのスケーリング 1 でサムネイルを生成します (2、3、4、5、6 で表される意味については、親クラス ファイル Image.class.php を参照してください)

3:save() サムネイルをサーバー

以下の4つのステップでサムネイルを生成します

* 1. インスタンス化します

* 2. 画像を開きます open()

* 3. サムネイルを生成しますthumb() デフォルトはスケーリングと同じです
* 4. Save save()

Controllerコード:

//大图路径(此处大图路径可参考上篇 “使用ThinkPHP实现附件上传”的上传路径)
$bigimg_path = $upload->rootPath.$file_info['savepath'].$file_info['savename'];
//小图路径
$smallimg_path = $upload->rootPath.$file_info['savepath'].'small_'.$file_info['savename'];

$img = new \Think\Image(); //实例化
$img->open($bigimg_path); //打开被处理的图片
$img->thumb(100,100); //制作缩略图(100*100)
$img->save($smallimg_path); //保存缩略图到服务器

//把上传好的附件及缩略图存到数据库
$_POST['goods_big_img']=$bigimg_path;
$_POST['goods_small_img']=$smallimg_path;

エントリーファイル設定定数

エントリーファイルindex.phpにサイトパスを表す定数を設定して画像と繋ぎ合わせると便利です。データベースに保存されたパス

define('SITE_URL', 'http://www.tp.com/TP/shop/');


フロントに大きな画像とサムネイル画像を表示

<td><!-- 大图 -->
 <img src="<{$smarty.const.SITE_URL}><{$v.goods_big_img}>" height="60" width="60">
</td>
<td><!-- 小图 -->
 <img src="<{$smarty.const.SITE_URL}><{$v.goods_small_img}>" height="40" width="40">
</td>

結果

データベースに保存されたパス

写真

フロントエンドディスプレイ

以上がこの記事の全内容です。みんなの勉強に役立ちます。関連する推奨事項:

php
抽象とinterface_javascriptスキルの違いjson_jquery

phpを呼び出すphpクロスドメインの例は、現在のファイルが配置されているファイルを表示し、フォルダー内のすべてのファイルをツリー状に展開_JavaScript ヒント


以上がThinkPHP を使用してサムネイルを生成し、表示する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。