phpで画像をアップしたいのですが、formのmethodがgetだとエラーもなく画像をアップロードできません。これは仕様なのでしょうか?
postだとアップできますが、できればgetでアッしたいです。
解決方法をご存知の方お助け願います。
php
1//sample1.php 2 3<?php 4$msg=null; 5 6if(isset($_FILES["image"])&& is_uploaded_file 7($_FILES["image"]["tmp_name"])){ 8$old_name=$_FILES["image"]["tmp_name"]; 9$new_name=date("YmdHis"); 10$new_name .=mt_rand(); 11switch (exif_imagetype($_FILES["image"]["tmp_name"])) { 12 case IMAGETYPE_JPEG: 13 $new_name .='.jpg'; 14 break; 15 case IMAGETYPE_GIF: 16 $new_name .='.gif'; 17 break; 18 case IMAGETYPE_PNG: 19 $new_name .='.png'; 20 break; 21 default: 22 header('Location: sample1.php'); 23 exit(); 24} 25if(move_uploaded_file($old_name,'album/' . "$new_name")){ 26 $msg="アップロードしました"; 27} 28else{ 29$msg="アップロードできませんでした"; 30} 31} 32 ?> 33 <?php 34static $images = array(); 35 36 if($handle=opendir('./album')){ 37 while ($entry=readdir($handle)){ 38 if($entry != "." && $entry != ".."){ 39 $images[]=$entry; 40 } 41 } 42 closedir($handle); 43 } 44 45 ?> 46 <html> 47<head> 48 <title>#</title> 49 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 50 <link rel="stylesheet" href="#" type="text/css" media="all"> 51</head> 52<body> 53 <header> 54 </header> 55 56 <div class="contents"> 57 58 <?php 59 if($msg){ 60 echo "<p>" . $msg . "</p>"; 61 } 62 ?> 63 64//↓のmethodをgetにすると画像がアップロードされません 65 66 <form action="sample1.php" method="post" enctype="multipart/form-data"> 67 <input type="file" name="image" accept="image/*"> 68 <input type="submit" value="アップロード"> 69 </form> 70 <?php 71 rsort($images); 72 if(count($images)>0){ 73 foreach($images as $id=>$img ){ 74 echo '<a href="#' . $id . '"><img src="./album/' . $img .'"></a>'; 75 } 76 }else{ 77 echo "<p>画像はまだありません</p>"; 78 } 79 ?> 80 81 </div> 82 83 <footer> 84 </footer> 85 86</body> 87</html>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/09 22:07
退会済みユーザー
2017/10/09 22:23