画像ファイルのアップロード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
 
$dir = "upload";
if (!$handle=opendir($dir)) die("ディレクトリの読み込みに失敗しました");
while($filename=readdir($handle))
{
 if(!preg_match("/^\./", $filename))
 {
 if (!unlink("$dir/$filename")) die("ファイルの削除に失敗しました");
 }
}
 
if (isset ( $_FILES &#91;'file'&#93; ) && is_uploaded_file ( $_FILES &#91;'file'&#93; &#91;'tmp_name'&#93; )) {
    $old_name = $_FILES&#91;'file'&#93;&#91;'tmp_name'&#93;;
    $new_name = date("YmdHis");
    $new_name .= mt_rand();
    switch (exif_imagetype($_FILES&#91;'file'&#93;&#91;'tmp_name'&#93;)) {
        case IMAGETYPE_JPEG :
            $new_name .= '.jpg';
            break;
        case IMAGETYPE_GIF :
            $new_name .= '.gif';
            break;
        case IMAGETYPE_PNG :
            $new_name .= '.png';
            break;
        default :
            header ( 'Location: upload.php' );
            exit ();
    }
    $gazou = basename($_FILES&#91;'file'&#93;&#91;'name'&#93;);
    if (move_uploaded_file($old_name, 'upload/'.$new_name)) {
        echo $gazou . 'のアップロードに成功しました';
    } else {
        echo 'アップロードに失敗しました';
    }
}
 
if(!isset($_POST&#91;'delte'&#93;)){
   unlink("upload/".$_POST&#91;'delete'&#93;."");
}
?>
 
<!doctype html>
<form action="#" method="POST" enctype="multipart/form-data">
  <input type="file" name="file">
  <input type="submit" value="ファイルをアップロードする">
  <input type="hidden" name="MAX_FILE_SIZE" value="4194304" />
</form><br>
 
<?php
if(isset($_FILES&#91;'file'&#93;&#91;'name'&#93;)){
    echo "<img src=\"upload/" .$new_name. "\"><br><br>";
}
?>
<form action = "#" method = "post">
<input type = "submit" value ="削除する">
<input type="hidden" name="delete" value="<?php echo $new_name ?>">
</form>