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)。画像アップロード機能を実装すると便利です。実装方法は次のとおりです。
Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する
Sep 22, 2023 am 11:37 AM
Windows 11でタイトルバーの色を変更するにはどうすればよいですか?
Sep 14, 2023 pm 03:33 PM
Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法
Sep 15, 2023 pm 03:57 PM
Windows 11/10修復におけるOOBELANGUAGEエラーの問題
Jul 16, 2023 pm 03:29 PM
See all articles
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;
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 パスの統合管理を容易にするためです)
コードをコピー コードは次のとおりです:
<?php
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. 画像モジュールを追加します。 (名前は任意で構いません)
<?php
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. 画像モジュールを追加します。 (名前は任意で構いません)
コードをコピー
コードは次のとおりです: <?php class ImageAction extends Action{ 🎝>*/ public functionindex(){
$image=M('Image') () ; //最後にアップロードされた画像を取得します
$this->assign('data',$data);
$this->display();
}
4. 対応するインデックスを作成します。ファイルを表示 (index.html)
$this->assign('data',$data);
$this->display();
}
4. 対応するインデックスを作成します。ファイルを表示 (index.html)
コードをコピーしますコードは次のとおりです:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css">
#img{height:22px; border:#000 2px solid}
#button{height:30px; width:100px;}
</style>
</head>
<body>
<div class="result" >上传允许文件类型:gif png jpg 图像文件,并生成2张缩略图,其中大图带水印,生成后会删除原图。</div><br>
<notempty name="data"><img src="__UPLOAD__/m_{$data.image}" />
<form action="__URL__/upload" method="post" enctype="multipart/form-data">
<input type="file " name="image" id="img"/>
<input type="submit" value="アップロード" id="button">
</form>
< /body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css">
#img{height:22px; border:#000 2px solid}
#button{height:30px; width:100px;}
</style>
</head>
<body>
<div class="result" >上传允许文件类型:gif png jpg 图像文件,并生成2张缩略图,其中大图带水印,生成后会删除原图。</div><br>
<notempty name="data"><img src="__UPLOAD__/m_{$data.image}" />
<input type="file " name="image" id="img"/>
<input type="submit" value="アップロード" id="button">
</form>
< /body>
</html>
5. 画像を選択してアップロードボタンをクリックすると、画像モジュールのアップロードメソッドにジャンプします。 Image モジュールにそのようなメソッドはまだないので、それを作成します
コードをコピーしますコードは次のとおりです:
<? php
class ImageAction extends Action{ =$image ->order('create_time desc')->find(); //最後にアップロードされた画像を取得します
var_dump($data);
$this->assign('data ',$data);
$this->display();
} }
( ){ }
}
6. 送信内容が NULL でない場合は、画像アップロード関数を実装する _upload メソッドにジャンプします
<? php
class ImageAction extends Action{ =$image ->order('create_time desc')->find(); //最後にアップロードされた画像を取得します
var_dump($data);
$this->assign('data ',$data);
$this->display();
} }
( ){ }
}
6. 送信内容が NULL でない場合は、画像アップロード関数を実装する _upload メソッドにジャンプします
コードをコピーしますコードは次のとおりです:
<?php
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 番目です
<?php
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 までご連絡ください。

人気の記事
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

人気の記事
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

ホットな記事タグ

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

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

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

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

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

ホットトピック
Gmailメールのログイン入り口はどこですか?
7283
9


Java チュートリアル
1622
14


CakePHP チュートリアル
1342
46


Laravel チュートリアル
1259
25


PHP チュートリアル
1205
29



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

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

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

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