この記事には、PHP ファイルのアップロードとエラー コードの概要がまとめられています。学習が必要な方は、この記事を参照してください。
オペレーションコードをアップロード
コードは次のとおりです | コードをコピー |
If($_FILES['myfile']['error'] > 0) { //ファイルがサーバーに正常にアップロードできるかどうかを判断します。0 はアップロードが成功したことを意味します エコー 'エラー: '; スイッチ ( $_FILES['myfile']['error'] ) { ケース UPLOAD_ERR_OK: $response = 'エラーはありません。ファイルは正常にアップロードされました。'; 休憩 ケース UPLOAD_ERR_INI_SIZE: $response = 'アップロードされたファイルは php.ini の Upload_max_filesize ディレクティブを超えています。'; 休憩 ケース UPLOAD_ERR_FORM_SIZE: $response = 'アップロードされたファイルは、HTML フォームで指定された MAX_FILE_SIZE ディレクティブを超えています。'; 休憩 ケース UPLOAD_ERR_PARTIAL: $response = 'アップロードされたファイルは部分的にのみアップロードされました。'; 休憩 ケース UPLOAD_ERR_NO_FILE: $response = 'ファイルはアップロードされませんでした。'; 休憩 ケース UPLOAD_ERR_NO_TMP_DIR: $response = 'PHP 4.3.10 および PHP 5.0.3 で導入されました。'; 休憩 ケース UPLOAD_ERR_CANT_WRITE: $response = 'PHP 5.1.0 で導入されました。'; 休憩 ケース UPLOAD_ERR_EXTENSION: $response = 'PHP 5.2.0 で導入されたファイルのアップロード。'; 休憩 デフォルト: $response = '不明なエラー'; 休憩 } $response をエコーします。 Exit; // $_FILES['myfile']['error'] が 0 より大きい場合、エラーが発生し、エラー メッセージを出力してプログラムを終了します } //アップロードされたファイルの MIME タイプのメインタイプとサブタイプを取得します List($maintype,$subtype)=explode("/",$_FILES['myfile']['type']); If ($maintype=="text") { //テキスト ファイルは、.txt、.html、.php、その他のファイルなど、メイン タイプの制限を通じてアップロードできません echo '問題: テキスト ファイルをアップロードできません。 '; exit; // ユーザーがテキスト ファイルをアップロードした場合はプログラムを終了します } $upfile = './uploads/'.time().$_FILES['myfile']['name'] //アップロード後の場所と新しいファイル名を定義します If ( is_uploaded_file($_FILES['myfile']['tmp_name']) ) { //アップロードされたファイルかどうかを判断します If ( !move_uploaded_file($_FILES['myfile']['tmp_name'], $upfile) ) { // からファイルを移動 echo '問題: ファイルを指定されたディレクトリに移動できません。 '; 出る } }その他{ echo '問題: アップロードされたファイルは正当なファイルではありません: '; echo $_FILES['myfile']['name']; 出る } echo 'ファイル: '.$upfile.'、サイズ: '.$_FILES['myfile']['size'].'! ' //ファイルが正常にアップロードされた場合、出力 ?> 本文> html コードは次のとおりです |
<フォームアクション="upload.php" メソッド="ポスト" enctype="multipart/form-data"> ファイルを選択: フォーム> 本文> | |
ファイルアップロード時の一般的なエラーコード 0 | UPLOAD_ERR_OK ファイルが正常にアップロードされました |