ホームページ  >  記事  >  バックエンド開発  >  PHP ファイルのアップロード クラス コード_PHP チュートリアル

PHP ファイルのアップロード クラス コード_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-14 10:07:47848ブラウズ

[php]

/*
単一ファイルのアップロード
機能
ファイルをアップロードする
許可されるサフィックスを構成する
許可されるサイズを設定する
ファイルのサフィックスを取得する
ファイルのサフィックスを決定する
エラーを報告する
*/
クラスアップツール{
protected $allowExt = 'jpg,jpeg,gif,bmp,png';
protected $maxSize = 1 //1M、単位: M
protected $file = null //アップロードされたファイル情報を保存する準備をします
protected $errno = 0 //エラーコード
protected $error = array(
0=>「エラーなし」、
1=>'アップロードされたファイルのサイズがシステム制限を超えています',
2=>「アップロードされたファイルのサイズが Web フォームの制限を超えています」,
3=>'ファイルの一部のみがアップロードされました',
4=>「ファイルはアップロードされていません」,
6=>「一時フォルダーが見つかりません」,
7=>'ファイルの書き込みに失敗しました',
8=>'許可されていないファイルのサフィックス',
9=>'ファイル サイズがクラスの許容範囲を超えています',
10=>'ディレクトリの作成に失敗しました',
11=>「ファイルの移動に失敗しました」
);
/*
アップロード
*/
パブリック関数 up($key) {
if (!isset($_FILES[$key])) {
false を返します。
$f = $_FILES[$key];
//アップロードが成功したかどうかを確認します
if ($f['error']) {
$this->errno = $f['error'];
false を返します。
//サフィックスを取得
$ext = $this->getExt($f['name']);
//サフィックスをチェックする
if (!$this->isAllowExt($ext)) {
$this->errno = 8;
false を返します。
//サイズを確認してください
if (!$this->isAllowSize($f['size'])) {
$this->errno = 9;
false を返します。
使用
$dir = $this->mk_dir();
if ($dir == false) {
$this->errno = 10;
return fasle;
out Out Out Out ’s’ sの使用
$newname = $this->randName() .$ext;
//$dir = $dir . '/' .$newname;
if(!move_uploaded_file($f['tmp_name'], $dir . '/' .$newname)) {
$this->errno = 11;
false を返します。
return true;//str_replace(ROOT, '', $dir);
}
パブリック関数 getErr(){
$ this-> エラー [$ this-& gt;] を返します。
}
/*
Parm 文字列 $exts で許可されるサフィックス
許可されるサフィックスとファイルサイズを自動的に追加します
*/
パブリック関数 setExt($exts) {
$this->allowExt = $exts;
}
パブリック関数 setSize($num) {
$this->maxSize = $num;
}
/*
文字列 $file
文字列 $ext サフィックスを返す
*/
保護された関数 getExt($file) {
$tmp =explode('.', $file);
return end($tmp);
}
/*
文字列 $ext ファイル接尾辞
ブール値を返す
大文字小文字の問題を防ぐ
*/
保護された関数 isAllowExt($ext) {
I Return in_array (StrTo lower ($ EXT)、Explode (','、Strtology ($ This-& GT; AllWext));
)
}
/*
ファイルサイズを確認する
*/
保護された関数 isAllowSize($size) {
️ return $size maxSize *1024*1024;
}
//日付ごとにディレクトリを作成する方法
保護された関数 mk_dir() {
$dir = 'images/' . date('Ym/d');
if(is_dir($dir) || mkdir($dir,0777,true)) {
return $dir;
false を返します。
}
/*
ランダムなファイル名を生成する
*/
保護された関数 randName($length = 6) {
$str = 'abcdefghijkmnpqrstuvwxyz23456789'; out Out Out Out Outを使用します
}
}
フォームフォーム
[html]
ユーザー名:
アバター:
別のページを呼び出す
[php]
require('./UpTool.class.php');
$uptool = 新しい UpTool();
$uptool->setExt('rar,doc');
$uptool->setSize(1);
if ($uptool->up('pic')) {
「アップロード成功」をエコーし​​ます
} 他 {
エコー「失敗」
;
echo $uptool->getErr();
}
http://www.bkjia.com/PHPjc/477843.html
www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/477843.html技術記事 [php] /* 単一ファイルアップロード関数 アップロードファイル構成 許可サフィックス構成 許可サイズ ファイルサフィックス取得 ファイルサフィックス判定 エラー報告 */ class UpTool{ protected $allowExt = jp...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。