PHP開発ファイルアップロードチュートリアルのカプセル化機能
まず、処理ファイルのエラー情報を全て1つのファイルにまとめる必要があります
今度は関数ファイルfunction.phpを定義します
この中でfile.html doaction.php関数という3つのファイルを使用します.php
最初のページについては詳しく説明しません。コードは次のとおりです:
文件上传
doaction.php
header("Content-type: text/html; charset=utf-8" を見てみましょう) );
$fileinfo = $_FILES['myfile'];
$allowEXT = array('jpg','png','jpeg','gif');//ファイル形式
$maxfile = //2M; //ファイルの大きさ
$ ext = pathinfo($fileinfo['name'],PATHINFO_EXTENSION);//ファイルの種類を取得します
$file = $fileinfo['error'] //ストレージエラーメッセージ
;このファイルの書き込みはまだ終わっていません。完了するまで待ちます。関数はカプセル化されています。カプセル化されたファイルをこのファイルに導入して、関数を呼び出す必要があります
function.php ファイルを見てみましょう。コードは次のとおりです。
0){ switch ($file){ case 1: $msg= "上传文件超过了php 配置文件中 upload_max_filesize 的值";break; case 2: $msg= "上传文件超过max_file_size 大小";break; case 3: $msg= "文件部分被上传";break; case 4: $msg= "没有选择上传文件";break; case 6: $msg= "没有找到临时目录";break; case 7: case 8: $msg= "系统错误";break; } exit($msg); } //检测文件上传的类型 if(!in_array($ext, $allowEXT)){ exit('非法文件类型'); } //检测上传文件的大小 if($fileinfo['size']>$maxfile){ exit('文件过大'); } //检测是否是http post方式提交的 if(!is_uploaded_file($fileinfo['$tmp_name'])){ exit("文件不是以POST方式提交"); } } ?>
上記のコードで、関数には 4 つのパラメータがあります
doction.php は function.php をインポートし、関数を呼び出す必要があると前述しました
ドキュメントの完全なコード.php ファイルは次のとおりです: