PHP 画像うpフォーム

/ PHP / Comment[0]
1.アップロード
2.mimeをチェック
3.画像サイズをチェック
4.拡張子をチェック
5.upload/に"ファイルネーム+時間+連番+拡張子"で保存、img srcで表示
<?php
echo <<<EOF_
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<h3>アップロード</h3>
<form name="upload" method="post" enctype="multipart/form-data">
<ul>
<li>拡張子は jpg/gif/png サイズは<strong>1000KB</strong>まで</li>
<li><u>被写体が18歳未満と思われるポルノ画像のアップロード</u>は<strong>固く禁じております</strong></li>
<li><font color="red">アップロードした画像を削除した場合、<br>
画像を使用した記事にも画像が表示されなくなりますのでご注意ください</font></li>
</ul>
<form method="post" action="" enctype="multipart/form-data">
<input type="file" name="upfile[]"/><br/>
<input type="file" name="upfile[]"/><br/>
<input type="file" name="upfile[]"/><br/>
<input type="file" name="upfile[]"/><br/>
<input type="file" name="upfile[]"/><br/>
<input type="submit" value="send"/><br/>
</form>
<hr/>
EOF_;

$filepath = 'upload/';
for ($i = 0; $i < count(@$_FILES['upfile']['name']); $i++) {
$error = '';

if (strlen($_FILES['upfile']['name'][$i]) > 0) {
$imgtype = $_FILES['upfile']['type'][$i];
$extension = '';
if ($imgtype == 'image/gif') {
$extension = 'gif';
} else if ($imgtype == 'image/png' || $imgtype == 'image/x-png') {
$extension = 'png';
} else if ($imgtype == 'image/jpeg' || $imgtype == 'image/pjpeg') {
$extension = 'jpg';
} else if ($extension == '') {
$error .= 'mimeが違う ';
}

$checkimage = @getimagesize($_FILES['upfile']['tmp_name'][$i]);
if ($checkimage == FALSE) {
$error .= 'ってこれ画像じゃないですし';
} else if ($imgtype != $checkimage['mime']) {
$error .= '拡張子とmimeが一致しないでござる';
} else if ($_FILES['upfile']['size'][$i] > 10240) {
$error .= 'デカすぎ';
} else if ($extension != 'gif' && $extension != 'jpg' && $extension != 'png') {
$error .= 'うp出来る拡張子はgif jpg pngだけだよ';
} else {
$moveto = $filepath . time() . $i . '.' . $extension;
if (!move_uploaded_file($_FILES['upfile']['tmp_name'][$i], $moveto)) {
$error .= 'ディレクトリのパーミッション間違ってるかも';
}
}

if ($error == '') {
echo $moveto . '<br/>';
echo '<a href="' . $moveto . '" target=_blank><img src="'
. $moveto . '" width="300"/></a><br/>';
} else {
echo $error . '<br/><br/>';
}
}
}
?>

関連記事

コメント

:
:
:
:
:
管理人のみ表示を許可