phpで複数のファイルをアップロードするサンプルプログラム2

PHPコード:
//アップロードファイルの情報を取得

$up_info=$_FILES;

$ob_path="..\system";

$typelist=array(“image/gif","image/jpeg","image/pjpeg","image/png");
//アップロードファルの種類を定義

foreach($up_info as $k_name=>$value){
//foreachで複数ファルのアップロードを処理

//ファルアップロードエラーかどうかを判断

if($up_info[$k_name]['error’]>0){

switch($up_info['error’][$i]){

case 1:

$err_info=" php.ini の upload_max_filesize値を超える";

break;

case 2:

$err_info="HTMLフォームのMAX_FILE_SIZE値を超える";

break;

case 3:

$err_info="一部ファイルアップロードしかない";

break;

case 4:

$err_info="フィルルがアップロードされませんでした";

break;

case 6:

$err_info="一時フォルダが見つかりません";

break;

case 7:
$err_info="ファイルの書き込みに失敗した";

break;

default:

$err_info="不明なアップロードエラー";

break;

}

continue($err_info);

}

//ファイルのタイプが合法的かどうかを判断

if(!in_array($up_info[$k_name]['type’],$typelist)){

continue('ファイルタイプエラー!’.$up_info[$k_name]['type’]);

}

//アップロードファイルのサイズをフォルダ

if($up_info[$k_name]['size’]>100000){

echo 'ファイルのサイズ大きすぎる;

continue;

}

/アップロードファイル名処理

$exten_name=pathinfo($up_info[$k_name]['name’],PATHINFO_EXTENSION);

do{

$main_name=date('YmHis’.’–'.rand(100,999));

$new_name=$main_name.’.’.$exten_name;

}while(file_exists($to_path.’/’.$new_name));

//ファイルをアップロードする処理
if(is_uploaded_file($up_info[$k_name]['tmp_name’])){

if(move_uploaded_file($up_info[$k_name]['tmp_name’],$ob_path.’/’.$new_name)){

echo 'ファイルが正常にアップロードされた!’;

}else{

echo 'アップロードファイルの移動に失敗した!’;

}

}else{

echo 'ファイルをアップロードできません’;

}

}

<form action="" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="">
<input type="file" name="pic" /><br><br>
<input type="file" name="text" /><br><br>
<input type="file" name="doc" /><br><br>
<input type="file" name="pdf" /><br><br>
<input type="submit" value="upload"/>
</form>

PHP

Posted by arkgame