ファイル・アップロード 9−3
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja"><head>
<meta http-equiv="Content-type" content="text/html; charset=EUC-JP">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="stylesheet" href="../style.css">
<title>ファイルアップローダー2</title></head>
<body><div class="file2">
<form method="post" enctype="multipart/form-data" action="09_03_fileup.php">
<input type="file" name="data" size="30">
<input type="submit" value="表示!"></form>
<?php
error_reporting(1);
$updir = "./upload2/"; /*ファイルを保存するフォルダ*/
$filename = $_FILES['data']['name'];
if(file_exists($_FILES['data']['tmp_name'])){ /*ファイルの存在を確認 tempの状態で確認*/
$filesize = filesize($_FILES['data']['tmp_name']); /*ファイルサイズを取得 tempの状態で取得*/
if($filesize <= 100000){
if(ereg("(^[a-zA-Z0-9_-]+)¥.(jpg)|(^[a-zA-Z0-9_-]+)¥.(gif)",$filename)){ /*jpgかgifしかアップできない*/
move_uploaded_file($_FILES['data']['tmp_name'], $updir.$filename); /*ファイルをuploadフォルダに保存*/
echo "ファイル名 " . $filename . " アップロード成功!";
echo $_FILES['data']['error'];
echo "<br><br><img src='./$updir/$filename'>";
} else {
echo "jpg かgif のファイルしかアップできません。或いはハイフン以外の記号があります。";
}
} else {
echo "$filesize Byte ファイルサイズが大きすぎます。<br>100000 Byte 以下にしてください。";
}
} else {
echo "ファイルをアップした順にテーブルに並べていきます。50枚以上は古い物から削除します。<br>";
echo "jpg か gif ファイルで 100kb 以内、ファイル名は英数と_-以外は使えません。<br>";
}
/*---------------------------------------------------------ここから表示*/
if ($handle = opendir($updir)) {
echo "<table border='1'>";
$cnt = 1;
while (false !== ($file = readdir($handle))) {
if ($file != "." and $file != "..") {
if($cnt % 5 == 0){
echo "<td><img src='$updir/$file' width='112'></td></tr>";
} else if($cnt % 5 == 1){
echo "<tr><td><img src='$updir/$file' width='112'></td>";
} else {
echo "<td><img src='$updir/$file' width='112'></td>";
}
$cnt++;
}
if($cnt > 20){
break;
}
}
closedir($handle);
}
if(!(($cnt-1) % 5 == 0)){
$cvr = 5-($cnt-1) % 5;
for($cnt2=1;$cnt2<=$cvr;$cnt2++){
echo "<td width='112'> </td>";
}
echo "</tr>";
}
echo "</table>";
?> </div></body></html>