ホームページ バックエンド開発 PHPチュートリアル thinkphp は、UploadFile.class.php 画像アップロードのパフォーマンスを実装します。

thinkphp は、UploadFile.class.php 画像アップロードのパフォーマンスを実装します。

Jun 13, 2016 pm 12:01 PM
gt image nbsp quot

thinkphp は、UploadFile.class.php 画像アップロード関数を実装します。

画像のアップロードは、Web サイトで非常に一般的な機能です。ThinkPHP には、独自の画像アップロード クラス (UploadFile.class.php) と画像モデル クラス (Image.class) もあります。 .php)。画像アップロード機能を実装すると便利です。実装方法は次のとおりです。

1. まずテーブル

を作成する必要があります。 コードをコピーします コードは次のとおりです:

CREATE TABLE IF NOT EXISTS `tp_image` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`image` varchar(200 ) NOT NULL,
`create_time` int(11) NOT NULL,
主キー (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

2. 次に、conf ファイルに設定を追加します (最後の設定はオプションであり、URL パスの統合管理を容易にするためです)

コードをコピー コードは次のとおりです:

return array(
'URL_MODEL' => 2, // 環境が PATHINFO をサポートしていない場合は、3 に設定してください
'DB_TYPE' => ; ' mysql',
'DB_HOST' => 'localhost',
'DB_NAME' => 'thinkphp',
'DB_USER' => => ; '',
'DB_PORT' => '3306',
'DB_PREFIX' => //ページのデバッグ詳細を表示

'TMPL_PARSE_STRING' => array( // アドレス置換、ルート ディレクトリの Upload ディレクトリの代わりに _UPLOAD_ ディレクトリを使用します
),
);
?>




3. 画像モジュールを追加します。 (名前は任意で構いません)

コードをコピー

コードは次のとおりです: class ImageAction extends Action{ 🎝>*/

public functionindex(){
$image=M('Image') () ; //最後にアップロードされた画像を取得します
$this->assign('data',$data);
$this->display();
}



4. 対応するインデックスを作成します。ファイルを表示 (index.html)

コードをコピーしますコードは次のとおりです:






Insert title here



   
上传允许文件类型:gif png jpg 图像文件,并生成2张缩略图,其中大图带水印,生成后会删除原图。


thinkphp は、UploadFile.class.php 画像アップロードのパフォーマンスを実装します。




< /body>

5. 画像を選択してアップロードボタンをクリックすると、画像モジュールのアップロードメソッドにジャンプします。 Image モジュールにそのようなメソッドはまだないので、それを作成します

コードをコピーしますコードは次のとおりです:

class ImageAction extends Action{ =$image ->order('create_time desc')->find(); //最後にアップロードされた画像を取得します

var_dump($data);
$this->assign('data ',$data);
$this->display();
} }

( ){ }

}




6. 送信内容が NULL でない場合は、画像アップロード関数を実装する _upload メソッドにジャンプします

コードをコピーしますコードは次のとおりです:


class ImageAction extends Action{ Image') ; $ this->assign('data',$data); _upload メソッド
public function Upload(); {$ this-&gt; _upload();


/** *
* 写真のアップロードを達成
* /
パブリック関数 _upload () {
Import ('@.ORG.UPLOADFILE')
// クラスのインポートとアップロード
$upload = new UploadFile(); $upload->allowExts =explode (',', 'jpg,gif,png,jpeg');
//添付ファイルのアップロード ディレクトリを設定します
サムネイル図画像ファイルに対して有効です
$upload->thumb = true
// 参照画像ライブラリのパスを設定します
$upload-> 🎜> $ Upload->thumbMaxWidth = '400,100';
🎜> $upload-> ;saveRule = 'uniqid' ;
アップロードが失敗した場合
if (!$upload ->upload( ))

else
{
//アップロードされたファイル情報
$ uploadlist = $ upload-&gt; getuploadfileinfo();

>import( '@。org.image') ;画像:水($uploadList[0]['savepath'] . 'm_' . $uploadList[0]['savename'], APP_PATH.'Tpl/Public/Images/logo.png');

//フィールドにイメージ名を割り当てます image
$_POST['image'] = $uploadList[0]['savename'];
}
$model = M('image' );
//現在のデータ オブジェクトを保存します
$data['image'] = $_POST['image'];
$data['create_time'] = NOW_TIME;
$list = $model->add ($data);
if ($list !== false)
{
$this->success('画像が正常にアップロードされました!');
}
else
{
- 🎜>アップロードは成功し、2 つのサムネイルが生成されました

説明する必要があるのは次のとおりです:

ThinkPHP 独自の画像アップロード クラス ( UploadFile.class.php) と画像モデル クラス (Image.class.php) を使用するには、ThinkPHP パッケージのフルバージョンが必要です。

そうでない場合は、Lib にフォルダー (ORG) を作成し、公式 Web サイトにアクセスして拡張パックをダウンロードし、これら 2 つのファイルを ORG フォルダーに配置する必要があります。

私のケースは 2 番目です

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

解決策: 組織では PIN を変更する必要があります。 解決策: 組織では PIN を変更する必要があります。 Oct 04, 2023 pm 05:45 PM

解決策: 組織では PIN を変更する必要があります。

Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する Sep 22, 2023 am 11:37 AM

Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する

Windows 11でタイトルバーの色を変更するにはどうすればよいですか? Windows 11でタイトルバーの色を変更するにはどうすればよいですか? Sep 14, 2023 pm 03:33 PM

Windows 11でタイトルバーの色を変更するにはどうすればよいですか?

Windows 11/10修復におけるOOBELANGUAGEエラーの問題 Windows 11/10修復におけるOOBELANGUAGEエラーの問題 Jul 16, 2023 pm 03:29 PM

Windows 11/10修復におけるOOBELANGUAGEエラーの問題

Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法 Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法 Sep 15, 2023 pm 03:57 PM

Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法

Huawei GT3 ProとGT4の違いは何ですか? Huawei GT3 ProとGT4の違いは何ですか? Dec 29, 2023 pm 02:27 PM

Huawei GT3 ProとGT4の違いは何ですか?

Windows 11 でのディスプレイ スケーリング ガイド Windows 11 でのディスプレイ スケーリング ガイド Sep 19, 2023 pm 06:45 PM

Windows 11 でのディスプレイ スケーリング ガイド

Windows 11で明るさを調整する10の方法 Windows 11で明るさを調整する10の方法 Dec 18, 2023 pm 02:21 PM

Windows 11で明るさを調整する10の方法

See all articles