質問編集履歴

4

追記

2019/02/23 12:49

投稿

syamcoro
syamcoro

スコア8

test CHANGED
File without changes
test CHANGED
@@ -15,6 +15,10 @@
15
15
  連続して画像を選択して送信すると、ファイルが送信されなくなってしまいます。
16
16
 
17
17
  何度更新してもそれっきりで、初めてページを開いた時にしか送信されないようです。
18
+
19
+ (2回目以降は下のコードで$_FILES['UploadFile']がない&テンポラリフォルダにアップロードされなかった時に表示される「ファイルが送信されていません」が表示されるので、inputが機能していないように思えます)
20
+
21
+
18
22
 
19
23
 
20
24
 
@@ -40,63 +44,65 @@
40
44
 
41
45
  <?php
42
46
 
43
- $msg = null;
47
+ $msg = null;
44
48
 
45
49
 
46
50
 
47
- if( isset( $_FILES['UploadFile'] ) && is_uploaded_file( $_FILES['UploadFile']['tmp_name'] ) ){
51
+ if( isset( $_FILES['UploadFile'] ) && is_uploaded_file( $_FILES['UploadFile']['tmp_name'] ) ){
48
52
 
49
- $OldName = $_FILES['UploadFile']['tmp_name'];
53
+ $OldName = $_FILES['UploadFile']['tmp_name'];
50
54
 
51
- $NewName = date( "YmdHis" );
55
+ $NewName = date( "YmdHis" );
52
56
 
53
- $NewName .= mt_rand();
57
+ $NewName .= mt_rand();
54
58
 
55
- switch( exif_imagetype( $_FILES['UploadFile']['tmp_name'] ) ){
59
+ switch( exif_imagetype( $_FILES['UploadFile']['tmp_name'] ) ){
56
60
 
57
- case IMAGETYPE_JPEG:
61
+ case IMAGETYPE_JPEG:
58
62
 
59
- $NewName .= '.jpg';
63
+ $NewName .= '.jpg';
60
64
 
61
- break;
65
+ break;
62
66
 
63
- case IMAGETYPE_GIF:
67
+ case IMAGETYPE_GIF:
64
68
 
65
- $NewName .= '.gif';
69
+ $NewName .= '.gif';
66
70
 
67
- break;
71
+ break;
68
72
 
69
- case IMAGETYPE_PNG:
73
+ case IMAGETYPE_PNG:
70
74
 
71
- $NewName .= '.png';
75
+ $NewName .= '.png';
72
76
 
73
- break;
77
+ break;
74
78
 
75
- default:
79
+ default:
76
80
 
77
- header( 'Location: upload.php' );
81
+ header( 'Location: upload.php' );
78
82
 
79
- exit();
83
+ exit();
84
+
85
+ }
86
+
87
+
88
+
89
+ if( move_uploaded_file( $OldName, 'uploadfile/'.$NewName ) ){
90
+
91
+ $msg = 'アップロードしました。';
92
+
93
+ } else {
94
+
95
+ $msg = 'アップロードに失敗しました。';
96
+
97
+ }
98
+
99
+ } else {
100
+
101
+ echo 'ファイルが送信されていません'; //確認用
80
102
 
81
103
  }
82
104
 
83
-
84
-
85
- if( move_uploaded_file( $OldName, 'uploadfile/'.$NewName ) ){
86
-
87
- $msg = 'アップロードしました。';
88
-
89
- } else {
90
-
91
- $msg = 'アップロードに失敗しました。';
92
-
93
- }
94
-
95
- }
96
-
97
105
  ?>
98
-
99
- </head>
100
106
 
101
107
  <body>
102
108
 

3

初心者マークをこっそり追加しておきました…

2019/02/23 12:49

投稿

syamcoro
syamcoro

スコア8

test CHANGED
File without changes
test CHANGED
File without changes

2

コードを変更。

2019/02/23 12:37

投稿

syamcoro
syamcoro

スコア8

test CHANGED
File without changes
test CHANGED
@@ -33,6 +33,8 @@
33
33
  何かお気づきの点がありましたらご教授お願いします。
34
34
 
35
35
 
36
+
37
+ ```ここに言語を入力
36
38
 
37
39
  <head>
38
40
 
@@ -119,3 +121,5 @@
119
121
  ?>
120
122
 
121
123
  </body>
124
+
125
+ ```

1

先ほど投稿時に途中で送信されてしまい、中途半端な質問になってしまったので再び投稿いたします。ご迷惑をおかけしてしまい申し訳ありません。

2019/02/23 12:35

投稿

syamcoro
syamcoro

スコア8

test CHANGED
@@ -1 +1 @@
1
- input type="file"で連続してアップロードはできないのでしょうか?
1
+ input type="file"で、画像を送信した後に連続してアップロードはできないのでしょうか?
test CHANGED
@@ -1,66 +1,98 @@
1
- input type="file"画像をアップロードするフォームを作り
1
+ upload.phpというファイル名で、
2
2
 
3
+ input type="file"で画像をアップロードするフォームを作り、送信されたら
4
+
5
+ 最終的にディレクトリ「uploadfile」に画像が入る、というプログラムを作成しております。
6
+
3
- 送信されたら最終的に用意したディレクトリ(
7
+ (ファイルの名前は今日の日付+ランダム数字+拡張子でつけていきます)
4
8
 
5
9
 
6
10
 
11
+ ローカルサーバーで動かして、最初はちゃんと「アップロードしました」と表示されて、
12
+
13
+ 「uploadfile」にも送信した画像ファイルが入っているのですが、
14
+
15
+ 連続して画像を選択して送信すると、ファイルが送信されなくなってしまいます。
16
+
17
+ 何度更新してもそれっきりで、初めてページを開いた時にしか送信されないようです。
18
+
19
+
20
+
21
+ できれば連続でファイルを送信できるようにしたいのですが、
22
+
23
+ input type="file"は1度しか送信できないものなのでしょうか。
24
+
25
+ もしくはPHP部分のどこかが間違っているのでしょうか?
26
+
27
+ (こちらのコードは翔泳社出版「スラスラわかるPHP」を参考にしております)
28
+
29
+
30
+
31
+ テキストの正解文と何度も確認をしたり、いろいろといじってみたのですがわかりません。
32
+
33
+ 何かお気づきの点がありましたらご教授お願いします。
34
+
35
+
36
+
37
+ <head>
38
+
7
39
  <?php
8
40
 
9
- $msg = null;
41
+ $msg = null;
10
42
 
11
43
 
12
44
 
13
- if( isset( $_FILES['UploadFile'] ) && is_uploaded_file( $_FILES['UploadFile']['tmp_name'] ) ){
45
+ if( isset( $_FILES['UploadFile'] ) && is_uploaded_file( $_FILES['UploadFile']['tmp_name'] ) ){
14
46
 
15
- $OldName = $_FILES['UploadFile']['tmp_name'];
47
+ $OldName = $_FILES['UploadFile']['tmp_name'];
16
48
 
17
- $NewName = date( "YmdHis" );
49
+ $NewName = date( "YmdHis" );
18
50
 
19
- $NewName .= mt_rand();
51
+ $NewName .= mt_rand();
20
52
 
21
- switch( exif_imagetype( $_FILES['UploadFile']['tmp_name'] ) ){
53
+ switch( exif_imagetype( $_FILES['UploadFile']['tmp_name'] ) ){
22
54
 
23
- case IMAGETYPE_JPEG:
55
+ case IMAGETYPE_JPEG:
24
56
 
25
- $NewName .= '.jpg';
57
+ $NewName .= '.jpg';
26
58
 
27
- break;
59
+ break;
28
60
 
29
- case IMAGETYPE_GIF:
61
+ case IMAGETYPE_GIF:
30
62
 
31
- $NewName .= '.gif';
63
+ $NewName .= '.gif';
32
64
 
33
- break;
65
+ break;
34
66
 
35
- case IMAGETYPE_PNG:
67
+ case IMAGETYPE_PNG:
36
68
 
37
- $NewName .= '.png';
69
+ $NewName .= '.png';
38
70
 
39
- break;
71
+ break;
40
72
 
41
- default:
73
+ default:
42
74
 
43
- header( 'Location: upload.php' );
75
+ header( 'Location: upload.php' );
44
76
 
45
- exit();
77
+ exit();
46
78
 
47
- }
79
+ }
48
80
 
49
81
 
50
82
 
51
- if( move_uploaded_file( $OldName, 'uploadfile/'.$NewName ) ){
83
+ if( move_uploaded_file( $OldName, 'uploadfile/'.$NewName ) ){
52
84
 
53
- $msg = 'アップロードしました。';
85
+ $msg = 'アップロードしました。';
54
86
 
55
- } else {
87
+ } else {
56
88
 
57
- $msg = 'アップロードに失敗しました。';
89
+ $msg = 'アップロードに失敗しました。';
58
90
 
59
- }
91
+ }
60
92
 
61
- }
93
+ }
62
94
 
63
- ?>
95
+ ?>
64
96
 
65
97
  </head>
66
98
 
@@ -78,11 +110,11 @@
78
110
 
79
111
  <?php
80
112
 
81
- if( $msg ){
113
+ if( $msg ){
82
114
 
83
- echo '<p>'.$msg.'</p>';
115
+ echo '<p>'.$msg.'</p>';
84
116
 
85
- }
117
+ }
86
118
 
87
119
  ?>
88
120