1. フォームアップロード.html コードをコピー コードは次のとおりです。 form enctype= "multipart/form-data" action="upload.php" method="post"> 1. これはタグであることに注意してください。ファイルをアップロードする場合は、multipart/form-data として指定する必要があります。そうしないと、サーバーはアップロードしません。何をすべきか知っています。 2. ファイル Upload.html のフォーム オプション MAX_FILE_SIZE の非表示の値フィールドは、その値を設定することでアップロードされるファイルのサイズを制限できることに注意してください。 3. MAX_FILE_SIZE の値はブラウザーに対する単なる提案です。実際には、これは簡単に回避できます。したがって、ブラウザの制限を制限するためにこの値に依存しないでください。実際、PHP 設定の最大アップロード ファイル サイズは無効になりません。ただし、フォームに MAX_FILE_SIZE を含めたほうがよいでしょう。これにより、ユーザーは、大きなファイルがアップロードされるのを待ってから、そのファイルが大きすぎることに気づくまで時間を費やす手間が省けます。 PHP アップロード ファイルに関連するパラメータ コードをコピー コードは次のとおりです: $f=&$HTTP_POST_FILES['Myfile']; $dest_dir='uploads';//アップロードディレクトリを設定します$dest=$dest_dir.'/'.date(" ymd" )."_".$f['name'];//重複を避けるために、日付とファイル名を組み合わせたファイル名を設定します $r=move_uploaded_file($f['tmp_name'],$dest ); chmod($dest, 0755);//アップロードされたファイルの属性を設定します または ================================= ======= ================================= 上記の例の $_FILES 配列の内容は次のとおりです。ファイルアップロードフィールドの名前は userfile であると仮定します (名前は任意に付けることができます) コードをコピー コードは次のとおりです: $_FILES[ 'userfile']['name'] クライアント マシン ファイルの元の名前。 $_FILES['userfile']['type'] ファイルの MIME タイプ。「image/gif」など、この情報に対するブラウザのサポートが必要です。 $_FILES['userfile']['size'] アップロードされたファイルのサイズ (バイト単位)。 $_FILES['userfile']['tmp_name'] ファイルのアップロード後にサーバーに保存される一時ファイル名。 $_FILES['userfile']['error'] ファイルのアップロードに関連するエラー コード 値: 0; エラーは発生せず、ファイルのアップロードは成功しました。 値: 1; アップロードされたファイルは、php.ini の Upload_max_filesize オプションで制限された値を超えています。 値: 2; アップロードされたファイルのサイズが、HTML フォームの MAX_FILE_SIZE オプションで指定された値を超えています。 値: 3; ファイルの一部のみがアップロードされました。 値: 4; ファイルはアップロードされませんでした。 PHP のデフォルトのアップロード制限は最大 2M です。この設定を超えるファイルをアップロードする場合は、PHP や Apache などのいくつかのパラメータを調整する必要があります。以下に、PHP に関連するいくつかのパラメータを簡単に紹介します。 PHP ファイルのアップロード: file_uploads HTTP スイッチによるファイルのアップロードを許可するかどうか、デフォルトは ON upload_tmp_dir upload_tmp_dir は、PHP によってアップロードされるファイルの一時ディレクトリを記述するために使用されますファイルをアップロードする場合は、サーバーが一時ファイルを閉じていないこと、およびフォルダーへの書き込み権限があることを確認する必要があります。指定されていない場合、PHP はシステムのデフォルト値 upload_max_filesize を使用します。アップロードできるファイルの最大サイズ。デフォルトは 2M です。 コードをコピー コードは次のとおりです: define('MUILTI_FILE_UPLOAD', '10') //最大 10 個のファイルを同時にアップロードできます define('MAX_SIZE_FILE_UPLOAD', '500000' );ファイルサイズ 5MB 以下 define('FILE_UPLOAD_DIR', 'd:/'); //アップロードファイルのディレクトリ//アップロード可能なファイル名$array_extention_interdite = array( '.php ' , '.php3' , '.php4' , '.exe' , '.msi' , '.htaccess' , '.gz' ); //アップロードされたファイルの拡張子//パブリック関数情報を表示function func_message($message='', $ok=''){ echo ''; 🎜>if ($ok == true){ echo ' ' .$message.' } if($ok == false){ echo ' '.$message.''; 🎜>echo ''; } //フォーム送信を処理します$action = (isset($_POST['action'])) $_POST['action'] : '' ; $file = (isset($_POST['file'])) $_POST['file'] :'' ; if($file != '') { $ファイル = $ ファイル.'/'; $message_true = ''; switch($action){ ケース 'アップロード' : chmod(FILE_UPLOAD_DIR,0777); for($nb = 1 ; $nb if( $_FILES['file_'.$nb]['size '] > ;= 10 ){ if ($_FILES['file_'.$nb]['size'] <= MAX_SIZE_FILE_UPLOAD ){ if (!in_array(ereg_replace('^[[:alnum :]] ([-_.]?[[:alnum:]])*.' ,'.', $_FILES['file_'.$nb]['name'] ) , $array_extention_interdite) ){ if( $_POST['file_name_'.$nb] !=''){ $file_name_final = $_POST['file_name_'.$nb].$extension ; }else { $file_name_final = $_FILES ['file_'.$nb]['name'] ; } //ファイル名の変更$file_name_final = strtr($file_name_final, 'aaaaaa', 'AAAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeeiiioooooouuuyy'); $file_name_final = preg_replace('/([^.a-z0-1] )/i', '_', $file_name_final ); $_FILES['file_'.$nb] ['name '] = $file_name_final; move_uploaded_file( $_FILES['file_'.$nb]['tmp_name'] , FILE_UPLOAD_ DIR . $file . $file_name_final ); 'すでにアップロードされたファイル: '.$_FILES['file_'.$nb]['name'] .'' }else{ $message_false .= 'ファイルのアップロードに失敗しました: '; $_FILES[ 'file_'.$nb]['name'] .' '; } }else{ $message_false .= 'ファイル サイズが超過しています'.MAX_SIZE_FILE_UPLOAD/1000 'KB: " '.$_FILES['file_'.$nb]['tmp_name'].'" ';} } }//break } ?> -color :#000000} <br>.box{background-color:#f8f8f9;} <br>.text{ color:#000000; <br>font-family: <br>font-size: 12px; 🎜> font-weight:bold} <br>input, select{font-size: 12px;} <br>body { <br>margin-top: 8px; <br> > if($message_true != '') { func_message($message_true) , true ); } if($message_false != ''){ func_message($message_false, false) } for($nb = 1 ; $nb <= MUILTI_FILE_UPLOAD ; $nb ){ ?> ファイルをアップロードします: ;input type="file" name="file_"> 新しいファイル名 (拡張子を含む): tr> 上传目的地址: <名前="ファイル" を選択> <オプション値=""> $repertoire = opendir(FILE_UPLOAD_DIR); while( $file = readdir($repertoire) ) { $file = str_replace('.','',$file); if( is_dir($file)) { ?> /オプション> } } closedir($repertoire); ?>