質問するログイン新規登録

回答編集履歴

2

修正

2017/01/24 08:40

投稿

date
date

スコア1820

answer CHANGED
@@ -38,11 +38,11 @@
38
38
  $get = getimagesize ( $tmp_name );
39
39
  if ($get ["0"] > 1) {
40
40
  $result = false;
41
- $error = "error[]=3&";
41
+ $error .= "error[]=3&";
42
42
  }
43
43
  if ($get ["1"] > 1) {
44
44
  $result = false;
45
- $error = "error[]=4&";
45
+ $error .= "error[]=4&";
46
46
  }
47
47
  if ($result) {
48
48
  echo '送信完了';

1

追加

2017/01/24 08:40

投稿

date
date

スコア1820

answer CHANGED
@@ -4,4 +4,50 @@
4
4
  ```php
5
5
  if (isset ( $_GET ['error'] ) && $_GET ['error'] == 1) {
6
6
  ```
7
- $_GET['error']のチェックを=から==に変更してください。
7
+ $_GET['error']のチェックを=から==に変更してください。
8
+
9
+ 追加 2017/01/24 17:30
10
+ 事前に$resultをtrueにして実行
11
+ errorになるところで$result=falseにする
12
+ などという方法があります。
13
+ if($result==true){
14
+ }else{
15
+ このelseの部分でerrorを送る。
16
+
17
+ }
18
+ ```php
19
+ <?php
20
+
21
+
22
+ ini_set ( 'display_errors', '1' );
23
+ error_reporting ( E_ALL );
24
+ $file = $_FILES ['upfile'];
25
+ $tmp_name = $file ['tmp_name']; // 一時ファイルのパス
26
+ $filesize = $_FILES ['upfile'] ['size'];
27
+ $result = true;
28
+ $error="";
29
+ if ($filesize > 524002) {
30
+ $result = false;
31
+ $error.="error[]=1&";
32
+ }
33
+ $finfo = new finfo ( FILEINFO_MIME_TYPE );
34
+ if (! preg_match ( '/\.jpg$|\.jpeg$/i', $file ['name'] ) || $finfo->file ( $tmp_name ) !== 'image/jpeg') {
35
+ $result = false;
36
+ $error .= "error[]=2&";
37
+ }
38
+ $get = getimagesize ( $tmp_name );
39
+ if ($get ["0"] > 1) {
40
+ $result = false;
41
+ $error = "error[]=3&";
42
+ }
43
+ if ($get ["1"] > 1) {
44
+ $result = false;
45
+ $error = "error[]=4&";
46
+ }
47
+ if ($result) {
48
+ echo '送信完了';
49
+ }else{
50
+ header ( 'location:up.php?' . $error );
51
+ }
52
+ ?>
53
+ ```