回答編集履歴

2

修正

2017/01/24 08:40

投稿

date
date

スコア1820

test CHANGED
@@ -78,7 +78,7 @@
78
78
 
79
79
  $result = false;
80
80
 
81
- $error = "error[]=3&";
81
+ $error .= "error[]=3&";
82
82
 
83
83
  }
84
84
 
@@ -86,7 +86,7 @@
86
86
 
87
87
  $result = false;
88
88
 
89
- $error = "error[]=4&";
89
+ $error .= "error[]=4&";
90
90
 
91
91
  }
92
92
 

1

追加

2017/01/24 08:40

投稿

date
date

スコア1820

test CHANGED
@@ -11,3 +11,95 @@
11
11
  ```
12
12
 
13
13
  $_GET['error']のチェックを=から==に変更してください。
14
+
15
+
16
+
17
+ 追加 2017/01/24 17:30
18
+
19
+ 事前に$resultをtrueにして実行
20
+
21
+ errorになるところで$result=falseにする
22
+
23
+ などという方法があります。
24
+
25
+ if($result==true){
26
+
27
+ }else{
28
+
29
+ このelseの部分でerrorを送る。
30
+
31
+
32
+
33
+ }
34
+
35
+ ```php
36
+
37
+ <?php
38
+
39
+
40
+
41
+
42
+
43
+ ini_set ( 'display_errors', '1' );
44
+
45
+ error_reporting ( E_ALL );
46
+
47
+ $file = $_FILES ['upfile'];
48
+
49
+ $tmp_name = $file ['tmp_name']; // 一時ファイルのパス
50
+
51
+ $filesize = $_FILES ['upfile'] ['size'];
52
+
53
+ $result = true;
54
+
55
+ $error="";
56
+
57
+ if ($filesize > 524002) {
58
+
59
+ $result = false;
60
+
61
+ $error.="error[]=1&";
62
+
63
+ }
64
+
65
+ $finfo = new finfo ( FILEINFO_MIME_TYPE );
66
+
67
+ if (! preg_match ( '/\.jpg$|\.jpeg$/i', $file ['name'] ) || $finfo->file ( $tmp_name ) !== 'image/jpeg') {
68
+
69
+ $result = false;
70
+
71
+ $error .= "error[]=2&";
72
+
73
+ }
74
+
75
+ $get = getimagesize ( $tmp_name );
76
+
77
+ if ($get ["0"] > 1) {
78
+
79
+ $result = false;
80
+
81
+ $error = "error[]=3&";
82
+
83
+ }
84
+
85
+ if ($get ["1"] > 1) {
86
+
87
+ $result = false;
88
+
89
+ $error = "error[]=4&";
90
+
91
+ }
92
+
93
+ if ($result) {
94
+
95
+ echo '送信完了';
96
+
97
+ }else{
98
+
99
+ header ( 'location:up.php?' . $error );
100
+
101
+ }
102
+
103
+ ?>
104
+
105
+ ```