PHP ファイルアップロードクラスはサムネイルコードを生成可能_PHP チュートリアル
php教程文件上传类可生成缩略图代码
if ($_GET['action'] == 'save') {
$up = new Upload();
$up->set_dir(dirname(__FILE__).'/upload/','{y}/{m}');
$up->set_thumb(100,80);
$up->set_watermark(dirname(__FILE__).'/jblog/images/watermark.png',6,90);
$fs = $up->execute();
var_dump($fs);
}
?>
テスト
UClass アップロード {
技術記事
var $ dir; // 添付ファイルには物理ディレクトリが保存されます
var $time; // カスタム ファイルのアップロード時間 var $allow_types; var $watermark_file; //ウォーターマーク画像アドレス
var $watermark_pos ; //ウォーターマークの位置
var $watermark_trans;//ウォーターマークの透明度
//コンストラクター関数
//$types: アップロードできるファイルの種類、$maxsize: 許可されるサイズ、$field: アップロード コントロール名、$time: アップロード時刻を定義してください function Upload($types = 'jpg|png', $maxsize = 102) 4、$field = ' '、$time = $this->maxsize = $$maxsize * 1 024;
/ファイルが特別に保存されているディレクトリを設定して作成します// $ basedir $ basedir、$ filedir = ''){
(array( '{y}'、 '{m}'、 '{d}')、 array(date('Y',$this->time),date('m',$this->time ),date('d',$this->time)),strto lower($filedir) );!//画像のサムネイル設定、サムネイルが生成されない場合は設定する必要はありません>thumb_width = $width;
//$file: ウォーターマーク画像、$pos: ウォーターマークの位置、$trans: ウォーターマークの透明度関数 set_watermark ($file, $pos = 6, $trans = 80) { $this->watermark_file = $file;
$this->watermark_pos = $pos; >watermark_trans = $trans; ----------- ------------------
ファイルアップロードを実行し、処理後、アップロードの成功または失敗を含むファイル情報の配列を返します。
その内: name はファイル名です。アップロードが成功した場合、それはサーバーにアップロードされたファイル名です。アップロードが失敗した場合、それはサーバー上に添付ファイルが保存される物理パスです。アップロードが失敗した場合、この値は存在しません。サイズは添付ファイルのサイズです。アップロードが失敗した場合、この値は存在しません
フラグはステータスを示します。1 は成功を意味し、-1 はファイル タイプが許可されていないことを意味し、-2 はファイル サイズが超過していることを意味します。
------------------------ ---------------------------- -------------------*/
functionexecute( ) { $files = array(); ( $keys as $key) { ['名前 '][$ key]); // ファイル拡張子を取得$filename = date('Ymdhis',$this->time).mt_rand(10,99).'.'.$fileext;ファイル名を作成します
$ FILEDIR = $ This- & GTR; // 実際のストレージ カタログを追加します
$ Filesize = $ _Files [$ Field] ['SIZE'] [$ Key] // ファイルの種類は許可されません
if (!in_array($fileext,$this->allow_types)) { $files[$key]['name'] = $_FILES[$field]['name'][$key];
$files[$key]['flag'] = -1;
続けます。
}
//文件大小超出
if ($filesize > $this->maxsize) {
$files[$key]['name'] = $_FILES[$field]['name'][$鍵];
$files[$key]['name'] = $filesize;
$files[$key]['flag'] = -2;
続けます。
}
$files[$key]['name'] = $filename;
$files[$key]['dir'] = $filedir;
$files[$key]['size'] = $filesize;
//保存上传文件并删除临時文件
if (is_uploaded_file($_FILES[$field]['tmp_name'][$key])) {
move_uploaded_file($_FILES[$field]['tmp_name'][$キー],$filedir.$ファイル名);
@unlink($_FILES[$field]['tmp_name'][$key]);
$files[$key]['flag'] = 1;
//对图片进行加水印和生成缩略图
if (in_array($fileext,array('jpg','png'))) {
if ($this->thumb_width) {
if ($this ->create_thumb($filedir.$filename,$filedir.'thumb_'.$filename)) {
$files[$key]['thumb'] = 'thumb_'.$filename; //缩略图文件名
}
}
$this->create_ウォーターマーク($filedir.$ファイル名);
} //サムネイルを作成、サムネイルを生成同じ拡張子を持つ
//$src_file: ソース画像のパス、$thumb_file: サムネイルのパス
function create_thumb ($ src_file,$thumb_file) If (!file_exists($src_file)) が返されるfalse; $ src_info = getImagesize($ src_file); ];真 // 実際のカラフルな縮小画像を作成します
$ Thumb_img = @imageCreateTrueColor ($ t_width, $ t_height) ('ImageCopyResampled') ) { ;
@ImageCopyResize($thumb_img, $src_img,0,0,0,0,$ t_width,$t_height,$src_info[0],$src_info[1]);
} }
switch ($fileext) { ImageJPEG($thumb_img,$thumb_file); _ファイル); 休憩;ファイルcreate create_watermark($ file){getImagesize '))$ gd_allow_types [' image/gif '] =' 'PNG から画像を作成'
//获取文件情報
$fileinfo = getImageSize($file);
$wminfo = getImageSize($this->watermark_file);
if ($fileinfo[0] < $wminfo[0] || $fileinfo[1] < $wminfo[1]) return;
if (array_key_exists($fileinfo['mime'],$gd_allow_types)) {
if (array_key_exists($wminfo['mime'],$gd_allow_types)) {
//从文件创建图像
$temp = $ gd_allow_types[$fileinfo['mime']]($file);
$temp_wm = $gd_allow_types[$wminfo['mime']]($this->watermark_file);
//水印の位置
switch ($this->watermark_pos) {
case 1 : //顶部居左
$dst_x = 0; $dst_y = 0;壊す;
case 2 : //顶部居中
$dst_x = ($fileinfo[0] - $wminfo[0]) / 2; $dst_y = 0;壊す;
case 3 : //顶部居右
$dst_x = $fileinfo[0]; $dst_y = 0;壊す;
case 4 : //底部居左
$dst_x = 0; $dst_y = $fileinfo[1];壊す;
case 5 : //底部居中
$dst_x = ($fileinfo[0] - $wminfo[0]) / 2; $dst_y = $fileinfo[1];壊す;
case 6 : //底部居右
$dst_x = $fileinfo[0]-$wminfo[0]; $dst_y = $fileinfo[1]-$wminfo[1]; $dst_x = mt_ rand(0,$fileinfo[0]-$wminfo[0]) ])$ dst_y = mt_rand($ fileinfo [1] - $ temp_wm、true); ,$temp_wm,$dst_x,$dst_y,0,0,$wminfo[0],$wminfo[1]); ~ 'image/jpeg' : 「画像/png」: /gif' :
@imageGIF($temp ,$file);//ゼロタイム画像strrchr($ filename、 '。')、1,10);
http://www.bkjia.com/PHPjc/444941.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/444941.html
PHP チュートリアル ファイルのアップロード クラスはサムネイル コードを生成できますか?php if ($_GET['action'] == 'save') { $up = new Upload(); $up-set_dir(dirname(__FILE__).'/upload/ ' ,'{y}/{m}'); $up-set_thumb(100,80...

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます
