PHPアップロード関数サンプルコード_PHPチュートリアル
enctype
form
php
アップロード
コード
関数
コピー
例
形状
1. フォームupload.htmlをアップロードします
コードをコピーします コードは次のとおりです:
1.
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);//アップロードされたファイルの属性を設定します
or
=============================== ===== ==================================== $_FILES 配列の内容上記の例は次のとおりです。ファイルアップロードフィールドの名前は userfile であると仮定します (名前は任意に付けることができます) $ r=move_uploaded_file ($f['tmp_name'],$dest);
chmod($dest, 0755);//アップロードされたファイルの属性を設定します
or
コードをコピーします
コードは次のとおりです: $_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 オプションで指定された値を超えています。 $_FILES['userfile']['tmp_name'] ファイルのアップロード後にサーバーに保存される一時ファイル名。
$_FILES['userfile']['error'] ファイルのアップロードに関連するエラー コード
値: 0; エラーは発生せず、ファイルのアップロードは成功しました。
値: 1; アップロードされたファイルは、php.ini の Upload_max_filesize オプションで制限された値を超えています。
値: 3; ファイルの一部のみがアップロードされました。
値: 4; ファイルはアップロードされませんでした。
PHP のデフォルトのアップロード制限は最大 2M です。この設定を超えるファイルをアップロードする場合は、PHP や Apache などのいくつかのパラメーターを調整する必要があります。以下では、PHP ファイルのアップロードに関連するいくつかのパラメーターを簡単に紹介します。 file_uploads
HTTP 経由でファイルをアップロードできるようにするスイッチ。
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 '
'.$message.' | |
$message.'< /td> |
}
//フォーム送信の処理
$action = (isset($_POST['action'] )) ? $_POST['アクション'] :'' ;
$file = (isset($_POST['file'])) ? $_POST['file'] :'' ; ') {
$file = $file.'/';
}
$message_true = '';
switch($action){
case 'アップロード' :
chmod(FILE_UPLOAD_DIR,0777) );
for($ nb = 1 ; $nb <= MUILTI_FILE_UPLOAD ; $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', 'AAAAAAACEEEEIIIIOOOOOUUUYaaaaaaceeeeeiiioooooouuuyy');
$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 );
$message_true .= 'ファイルがアップロードされました: '.$_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'].'"
';}
}
}//end for
}
?> html>
.border{background-color:#000000}
.text { color:# 000000;
font-family: 宋体;
font-weight:bold}
input, select{font-size: 12px;}
margin-top: 8px; }
< /style>