目次
ThinkPHP のファイルアップロードメソッドの例をカプセル化します、
ホームページ バックエンド開発 PHPチュートリアル ThinkPHP でのファイル アップロード メソッドのカプセル化の例、_PHP チュートリアル

ThinkPHP でのファイル アップロード メソッドのカプセル化の例、_PHP チュートリアル

Jul 13, 2016 am 10:15 AM
thinkphp アップロード 書類

ThinkPHP のファイルアップロードメソッドの例をカプセル化します、

この記事の例では、ThinkPHP をカプセル化し、参考のために全員と共有するファイル アップロード メソッドについて説明します。詳細は以下の通りです

最近、WBlogのアップロード機能が最適化されました。改良されたアップロード機能では、サムネイルのアップロード、画像のアップロード、透かしの生成、ファイルのアップロードが実現でき、アップロードされる添付ファイルのサイズ(ファイルサイズ)、タイプ(ファイルタイプ)、透かし(画像の場合)をバックグラウンドで設定できるようになりました。さらに、アップロードされたファイルは、対応するフォルダーに分類して保存できるため、管理が容易になります。

以下は、改善されたアップロード機能の簡単な説明です。

サムネイルのアップロード

以前のサムネイルアップロード機能はKindEditorのアップロードコンポーネントを使用していましたが、アップロード前に画像がサムネイル化されていない限り、アップロード機能は何をアップロードしても、システムを通じてサムネイルのサイズを設定できます。元の画像がどれほど大きくても、設定されたサイズの画像が生成され、元の画像が自動的に削除されるため、スパム情報の蓄積を効果的に削減できます。アップロードしたサムネイルは自動的にThumbフォルダーに保存されます

写真のアップロード

写真をアップロードすると、必要に応じて、写真のサイズ、アップロードする写真の種類を設定し、透かしを追加できます。

ファイルアップロード

圧縮ファイル、ドキュメントファイルなど。必要に応じてアップロードファイルの種類とサイズを追加できます。

透かしを追加

アップロードした写真に透かしを追加します。

上記のアップロード関数をモデル クラス AttachModel.class.php にカプセル化し、それを行うために 2 つのメソッドを使用しました:

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

/**
* 添付ファイルのアップロード: 写真、サムネイル、ファイルをアップロードします
* @param string $model アップロードするモジュール
* @param bool $type アップロードされたファイルのタイプ: image (画像); file (ファイル); ​*/
                                                パブリック関数アップロード($model = null, $type = 'image'){
//アップロードクラスをインポートします
import('ORG.NET.UploadFile');
$upload = new UploadFile();
$ Upload-& gt; saverule = 'uniqid' // アップロードファイルのルールを設定します
; $ Upload-& gt; maxsize = c ('maxsize')*1024*1024; // アップロードファイルのサイズ
$ upload-> Alowexts = Explode( '、'、c( 'AllowExts'));                                                           if ($model){ $upload->savePath = './Public/Uploads/'.$model.'/'; If (!file_exists($upload->savePath)) {
mkdir($upload->savePath);                                                                                                                                                                             $upload->savePath = './Public/Uploads/Thumb/'; If (!file_exists($upload->savePath)) {
mkdir($upload->savePath);                                                                                                                                                 If (in_array($type,array('image','thumb'))){
$upload->thumb = true;                                                                                                                                                                                                                                                                  $upload->thumbPrefix = 'wb_'; $upload->thumbMaxWidth = $type=='thumb' ? C('THUMB_W') :C('IMAGE_W');//サムネイルの幅 $ upload-> thumbmax​​height = $ == 'thumb'( 'thumb_h'):c( 'image_h'); // sumbnail height                                                                                                                                                  If (!$upload->upload()) {
return $upload->getErrorMsg();                                                                                                     $uploadlist = $upload->getUploadFileInfo(); If(C('ISWATER') && $type=='image'){
import('ORG.Util.Image'); //m_thumbnail にウォーターマークを追加, Image::water('元のファイル名', 'ウォーターマーク画像アドレス')foreach ($uploadlist as $key => $value){ Image::water($value['savepath'] . 'wb_' . $value['savename'], './Public/admin/images/water.png');                                                                                                                                                                                                                           If (in_array($type,array('画像','ファイル'))){
return $this->_add($uploadlist,$model);                                                                                                     return $ uploadlist [0] ['savename']; //サムネイル保存名を返します                                                                                       }
/*
* アップロードされた添付ファイルは、添付に必要なデータに統合され、テーブルに格納され、配列として返されます
* */
プライベート関数 _add($uploadlist,$module=''){
//$j = count($uploadlist);
$v = array();
foreach ($uploadlist as $key => $value){
                                                                       $ v [$ key] ['name'] $v[$key]['savename'] $ v [$ key] ['SavePath'] $ v [$ key] ['size'] $ v [$ key] ['userid'] $v[$key][= 」 _ $ v [$ key] ['alt'] $ v [$ key] ['module'] $ v [$ key] ['Recordid'] $this->add($v[$key]); If ($ this-& gt; サム) {
                                                                 $ v [$ key] ['prefix']                                                                             $v[$key]['id'] = M('Attach')->getLastInsID();                                                                        $v を返します。 }

この記事で説明した内容が、皆様の ThinkPHP フレームワーク プログラミングに役立つことを願っています。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/904008.html技術記事 ThinkPHP をカプセル化するファイル アップロード メソッドの例 この記事では、ThinkPHP をカプセル化するファイル アップロード メソッドの例について説明します。参考のために共有します。詳細は以下の通りです: 最近、...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

0x80004005 エラー コードが表示された場合の対処方法 エディターは、0x80004005 エラー コードを解決する方法を説明します。 0x80004005 エラー コードが表示された場合の対処方法 エディターは、0x80004005 エラー コードを解決する方法を説明します。 Mar 21, 2024 pm 09:17 PM

パソコン上のフォルダーを削除または解凍するときに、「エラー 0x80004005: 不明なエラー」というダイアログ ボックスが表示されることがあります。この状況はどう解決すればよいでしょうか?エラー コード 0x80004005 が表示される理由は実際にはたくさんありますが、そのほとんどはウイルスによって引き起こされます。DLL を再登録して問題を解決できます。以下では、エディターがエラー コード 0x80004005 の処理体験を説明します。 。一部のユーザーは、コンピュータの使用時にエラー コード 0X80004005 を表示されます。0x80004005 エラーは主に、コンピュータが特定のダイナミック リンク ライブラリ ファイルを正しく登録していないこと、またはファイアウォールがコンピュータとインターネット間の HTTPS 接続を許可していないことが原因で発生します。それでどうですか

Quark Cloud Disk から Baidu Cloud Disk にファイルを転送するにはどうすればよいですか? Quark Cloud Disk から Baidu Cloud Disk にファイルを転送するにはどうすればよいですか? Mar 14, 2024 pm 02:07 PM

Quark Netdisk と Baidu Netdisk は現在、ファイルの保存に最も一般的に使用されている Netdisk ソフトウェアです。Quark Netdisk 内のファイルを Baidu Netdisk に保存したい場合は、どうすればよいですか?今回は、Quark Network Disk コンピュータから Baidu Network Disk にファイルを転送するためのチュートリアル手順を編集者がまとめたので、その操作方法を見てみましょう。 QuarkネットワークディスクファイルをBaiduネットワークディスクに保存するにはどうすればよいですか? Quark Network Disk から Baidu Network Disk にファイルを転送するには、まず Quark Network Disk から必要なファイルをダウンロードし、次に Baidu Network Disk クライアントでターゲット フォルダーを選択して開きます。次に、Quark Cloud Disk からダウンロードしたファイルを Baidu Cloud Disk クライアントによって開かれたフォルダーにドラッグ アンド ドロップするか、アップロード機能を使用してファイルを Baidu Cloud Disk に追加します。アップロードが完了したら、Baidu Cloud Disk にファイルが正常に転送されたかどうかを必ず確認してください。それでおしまい

hiberfil.sys ファイルとは何ですか? hiberfil.sysは削除できますか? hiberfil.sys ファイルとは何ですか? hiberfil.sysは削除できますか? Mar 15, 2024 am 09:49 AM

最近、多くのネチズンが編集者に「hiberfil.sys ファイルとは何ですか?」と尋ねました。 hiberfil.sys は C ドライブのスペースを多く消費し、削除される可能性がありますか?エディターは、hiberfil.sys ファイルを削除できることを通知します。以下で詳細を見てみましょう。 hiberfil.sys は Windows システムの隠しファイルであり、システム休止状態ファイルでもあります。通常、C ドライブのルート ディレクトリに保存され、そのサイズはシステムに搭載されているメモリのサイズと同等です。このファイルはコンピュータが休止状態になっているときに使用され、リカバリ中に以前の状態にすばやく復元できるように、現在のシステムのメモリ データが含まれています。そのサイズはメモリ容量と等しいため、より多くのハードドライブスペースを占有する可能性があります。冬休み

thinkphpプロジェクトの実行方法 thinkphpプロジェクトの実行方法 Apr 09, 2024 pm 05:33 PM

ThinkPHP プロジェクトを実行するには、Composer をインストールし、Composer を使用してプロジェクトを作成し、プロジェクト ディレクトリに入り、php bin/consoleserve を実行し、http://localhost:8000 にアクセスしてようこそページを表示する必要があります。

ファイルパスでのスラッシュとバックスラッシュのさまざまな使用法 ファイルパスでのスラッシュとバックスラッシュのさまざまな使用法 Feb 26, 2024 pm 04:36 PM

ファイル パスは、ファイルまたはフォルダーを識別して検索するためにオペレーティング システムによって使用される文字列です。ファイル パスには、パスを区切る 2 つの一般的な記号、つまりスラッシュ (/) とバックスラッシュ () があります。これら 2 つのシンボルは、オペレーティング システムごとに異なる用途と意味を持ちます。スラッシュ (/) は、Unix および Linux システムで一般的に使用されるパス区切り文字です。これらのシステムでは、ファイル パスはルート ディレクトリ (/) から始まり、各ディレクトリ間はスラッシュで区切られます。たとえば、パス /home/user/Document

thinkphp にはいくつかのバージョンがあります thinkphp にはいくつかのバージョンがあります Apr 09, 2024 pm 06:09 PM

ThinkPHP には、さまざまな PHP バージョン向けに設計された複数のバージョンがあります。メジャー バージョンには 3.2、5.0、5.1、および 6.0 が含まれますが、マイナー バージョンはバグを修正し、新機能を提供するために使用されます。最新の安定バージョンは ThinkPHP 6.0.16 です。バージョンを選択するときは、PHP バージョン、機能要件、コミュニティ サポートを考慮してください。最高のパフォーマンスとサポートを得るには、最新の安定バージョンを使用することをお勧めします。

Kugou に独自の音楽をアップロードする簡単な手順 Kugou に独自の音楽をアップロードする簡単な手順 Mar 25, 2024 pm 10:56 PM

1. Kugou Music を開き、プロフィール写真をクリックします。 2. 右上隅にある設定アイコンをクリックします。 3. [音楽作品をアップロード]をクリックします。 4. [作品アップロード]をクリックします。 5. 曲を選択し、[次へ]をクリックします。 6. 最後に[アップロード]をクリックします。

thinkphpの実行方法 thinkphpの実行方法 Apr 09, 2024 pm 05:39 PM

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構成します。 Webサーバーを起動します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

See all articles