PHPマルチファイルアップロードの実装
リリース: 2016-07-25 08:44:23
フォーム内のファイルアップロードタグが配列形式で指定されていれば、複数のファイルを同時にアップロードできます。
例を見てみましょう:
----------------------------------------------- - -------------------
function Upload($file_error, $file_tmp_name, $file_name){ $info = ""; if($file_name == "") return $info; switch($file_error){ case UPLOAD_ERR_INI_SIZE: $info = $file_name. ": ファイル サイズがサーバーの制限を超えています"; Break; case UPLOAD_ERR_FORM_SIZE: $info = $file_name ":ファイル サイズがブラウザの制限を超えています"; Break; case UPLOAD_ERR_PARTIAL: $info = $file_name. ": ファイルの一部のみがアップロードされました"; Break; case UPLOAD_ERR_NO_FILE: $info = $file_name. ":なし ファイルがアップロードされました"; ブレーク; case UPLOAD_ERR_NO_TMP_DIR: $info = $file_name. ": 一時フォルダーが見つかりません"; ブレーク; case UPLOAD_ERR_CANT_WRITE: $info = $file_name. ": ファイルの書き込みに失敗しました" ; ブレーク; case UPLOAD_ERR_OK: $upload_dir = './'.iconv("UTF-8","gb2312",$file_name); if(file_exists($upload_dir)){ $info = $file_name ":同じ名前のファイルはすでに存在します"; }else{ if(move_uploaded_file($file_tmp_name,$upload_dir)){ $info = $file_name.": ファイルは正常にアップロードされました"; }else{ $info = $file_name. ": ファイルのアップロードに失敗しました"; } } Break; } return $info; } if(isset($_POST['submit'])){ $info = ''; $count = count($_FILES['upload_file']['name']); for($i=0; $i<$count; ++$i){ if($_FILES['upload_file'][ 'name' ][$i] == "") 続行; $info = Upload( $_FILES['upload_file']['error'][$i], $_FILES['upload_file'][' tmp_name'] [$i], $_FILES['upload_file']['name'][$i] ); } echo $info; }?>
コードをコピー
----------------------------------------------- - --------------------------------------
コードの実行結果は次のとおりです。
注:
1. では、name="upload_file[]" は配列の形式で名前を付ける必要があります。そうしないと、「初期化されていない文字列オフセット: 0」というエラーが発生します。これは、配列のキー値が範囲外であることを意味します。
2. $_FILES['upload_file']['name'][$i] では、upload_file はフォーム内のアップロード ファイル マーカーの名前です。複数のファイルをアップロードする場合、配列 $_FILES の 3 次元の添字が自動的に追加されます。 0 から開始 順番に番号が付けられます。
|
ファイルアップロード、PHP
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31