<br>
<html><br>
<頭><br>
<title>ファイルアップロードフォーム</title></head><br>
<br>
<form enctype=
"multipart/form-data"
action=
"index.php"
method=
"post"
><br>
ファイルを選択してください:<br><br>
<input name=
"upload_file"
type=
"file"
><br><br>
<input type=
"hidden"
name=
"MAX_FILE_SIZE"
value=
"30000"
><br>
<input type=
"submit"
value=
"ファイルをアップロード"
><br />
</form><br>
</body><br>
</html><br>
<?php<br />
<br />
定義(UPLOAD_DIR,'D:\AppServ\www\test\upload\');<br />
定義(UPLOAD_WEB_DIR,'\test\upload\');<br />
<br />
クラスアップロード_ファイル_クラス{<br />
<br />
var
$input_name
;
var
$max_size
;
var
$allow_ext
;
var
$err_info
;
<br />
<br />
function
__construct(
$input_name
,
$max_size
=1024,
$allow_ext
=
array
(
'jpg'
,
'png'
,
'gif'
)){<br />
<br />
$this
->input_name =
$input_name
;<br />
$this
->max_size =
$max_size
;<br />
$this
->allow_ext =
$allow_ext
;<br />
$this
->err_info_arr =
array
(<br />
<br />
1=>
'アップロードされたファイルのサイズがiniの設定値を超えています'
,<br>
2=>
'アップロードされたファイルのサイズがフォームに設定された最大値を超えています'
,<br>
3=>
'ファイルの一部のみがアップロードされました'
,<br>
4=>
'ファイルはアップロードされていません'
,<br>
5=>
'アップロードされたファイルのサイズが許可された設定値を超えています'
,<br>
6=>
'アップロードが許可されているファイルの種類ではありません'
,<br>
7=>
'ディレクトリの作成に失敗しました。ディレクトリを作成する権限があるか確認してください'
,<br>
8=>
'ファイルの作成に失敗しました。もう一度お試しください。 '
、<br>
9=>
'ファイルのアップロード中にエラーが発生しました。もう一度お試しください。 '
<br>
<br>
);<br>
<br>
}<br>
<br>
<br>
パブリック関数アップロード(){<br>
<br>
グローバル
$_FILES
;<br>
if
( !
is_array
(
$this
->input_name) )
$this
->input_name =
array
(
$this
->input_name);<br>
$file_path_arr
=
array
();<br>
foreach
(
$this
->input_name
as
$k
=>
$input_name
) {<br>
<br>
$__F
=
$_FILES
[
$input_name
];<br>
if
( !
empty
(
$__F
) ){<br>
<br>
if
(
$__F
[
'error'
] > 0 ){<br>
<br>
$this
->set_err(
$__F
[
'error'
]);<br>
<br>
}<br>
それ以外{<br>
<br>
$__F
[
'サイズ'
] =
$__F
[
'サイズ'
]/1024;<br>
if
(
$this
->max_size >=
$__F
[
'size'
] ){<br>
<br>
if
(
$this
->check_ext(
$__F
[
'name'
]) ){<br>
<br>
$save_dir_info
=
$this
->check_dir(); <br>
if
(
$save_dir_info
){<br>
<br>
$rand_num
=
date
(
'Ymdhis'
).rand(0,10000000);<br>
$ext
=
$this
->get_img_ext(
$__F
[
'name'
]);<br>
$new_file_name
=
$rand_num
.
".{$ext}"
;<br>
$full_path
=
$save_dir_info
[
'full_dir'
].
$new_file_name
;<br>
$full_web_path
=
$save_dir_info
[
'full_web_dir'
].
$new_file_name
;<br>
if
( !
file_exists
(
$full_path
) ){<br>
<br>
if
( move_uploaded_file(
$__F
[
'tmp_name'
],
$full_path
) ){ <div
class
=
"clear"
></div>