質問編集履歴

4

追記

2016/12/20 08:12

投稿

ryo-dev
ryo-dev

スコア437

test CHANGED
File without changes
test CHANGED
@@ -241,3 +241,351 @@
241
241
  Warning: Illegal offset type in C:\Users\hasegawaryo\Desktop\php\Smarty\postdata\file\file2.php on line 29
242
242
 
243
243
  ```
244
+
245
+
246
+
247
+ 追記2
248
+
249
+ ```html
250
+
251
+ array(1) {
252
+
253
+ ["upfile"]=>
254
+
255
+ array(5) {
256
+
257
+ ["name"]=>
258
+
259
+ array(2) {
260
+
261
+ [0]=>
262
+
263
+ string(36) "bandicam 2016-11-12 18-50-46-457.jpg"
264
+
265
+ [1]=>
266
+
267
+ string(36) "bandicam 2016-11-12 22-25-08-417.jpg"
268
+
269
+ }
270
+
271
+ ["type"]=>
272
+
273
+ array(2) {
274
+
275
+ [0]=>
276
+
277
+ string(10) "image/jpeg"
278
+
279
+ [1]=>
280
+
281
+ string(10) "image/jpeg"
282
+
283
+ }
284
+
285
+ ["tmp_name"]=>
286
+
287
+ array(2) {
288
+
289
+ [0]=>
290
+
291
+ string(50) "C:\Users\hasegawaryo\AppData\Local\Temp\php72A.tmp"
292
+
293
+ [1]=>
294
+
295
+ string(50) "C:\Users\hasegawaryo\AppData\Local\Temp\php72B.tmp"
296
+
297
+ }
298
+
299
+ ["error"]=>
300
+
301
+ array(2) {
302
+
303
+ [0]=>
304
+
305
+ int(0)
306
+
307
+ [1]=>
308
+
309
+ int(0)
310
+
311
+ }
312
+
313
+ ["size"]=>
314
+
315
+ array(2) {
316
+
317
+ [0]=>
318
+
319
+ int(30272)
320
+
321
+ [1]=>
322
+
323
+ int(67484)
324
+
325
+ }
326
+
327
+ }
328
+
329
+ }
330
+
331
+ int(0)
332
+
333
+ array(7) {
334
+
335
+ [1]=>
336
+
337
+ string(62) "php.iniのupload_max_filesizeの制限を越えています。"
338
+
339
+ [2]=>
340
+
341
+ string(51) "HTMLのMAX_FILE_SIZE 制限を越えています。"
342
+
343
+ [3]=>
344
+
345
+ string(69) "ファイルが一部しかアップロードされていません。"
346
+
347
+ [4]=>
348
+
349
+ string(60) "ファイルはアップロードされませんでした。"
350
+
351
+ [6]=>
352
+
353
+ string(48) "一時保存フォルダが存在しません。"
354
+
355
+ [7]=>
356
+
357
+ string(54) "ディスクへの書き込みに失敗しました。"
358
+
359
+ [8]=>
360
+
361
+ string(78) "拡張モジュールによってアップロードが中断されました。"
362
+
363
+ }
364
+
365
+ array(5) {
366
+
367
+ ["name"]=>
368
+
369
+ array(2) {
370
+
371
+ [0]=>
372
+
373
+ string(36) "bandicam 2016-11-12 18-50-46-457.jpg"
374
+
375
+ [1]=>
376
+
377
+ string(36) "bandicam 2016-11-12 22-25-08-417.jpg"
378
+
379
+ }
380
+
381
+ ["type"]=>
382
+
383
+ array(2) {
384
+
385
+ [0]=>
386
+
387
+ string(10) "image/jpeg"
388
+
389
+ [1]=>
390
+
391
+ string(10) "image/jpeg"
392
+
393
+ }
394
+
395
+ ["tmp_name"]=>
396
+
397
+ array(2) {
398
+
399
+ [0]=>
400
+
401
+ string(50) "C:\Users\hasegawaryo\AppData\Local\Temp\php72A.tmp"
402
+
403
+ [1]=>
404
+
405
+ string(50) "C:\Users\hasegawaryo\AppData\Local\Temp\php72B.tmp"
406
+
407
+ }
408
+
409
+ ["error"]=>
410
+
411
+ array(2) {
412
+
413
+ [0]=>
414
+
415
+ int(0)
416
+
417
+ [1]=>
418
+
419
+ int(0)
420
+
421
+ }
422
+
423
+ ["size"]=>
424
+
425
+ array(2) {
426
+
427
+ [0]=>
428
+
429
+ int(30272)
430
+
431
+ [1]=>
432
+
433
+ int(67484)
434
+
435
+ }
436
+
437
+ }
438
+
439
+ array(2) {
440
+
441
+ [0]=>
442
+
443
+ int(0)
444
+
445
+ [1]=>
446
+
447
+ int(0)
448
+
449
+ }
450
+
451
+ int(0)
452
+
453
+
454
+
455
+ Notice: Undefined offset: 0 in C:\Users\hasegawaryo\Desktop\php\Smarty\postdata\�t�@�C���̃A�b�v���[�h\file2.php on line 39
456
+
457
+
458
+
459
+ Notice: Undefined offset: 0 in C:\Users\hasegawaryo\Desktop\php\Smarty\postdata\�t�@�C���̃A�b�v���[�h\file2.php on line 40
460
+
461
+ int(1)
462
+
463
+ array(7) {
464
+
465
+ [1]=>
466
+
467
+ string(62) "php.iniのupload_max_filesizeの制限を越えています。"
468
+
469
+ [2]=>
470
+
471
+ string(51) "HTMLのMAX_FILE_SIZE 制限を越えています。"
472
+
473
+ [3]=>
474
+
475
+ string(69) "ファイルが一部しかアップロードされていません。"
476
+
477
+ [4]=>
478
+
479
+ string(60) "ファイルはアップロードされませんでした。"
480
+
481
+ [6]=>
482
+
483
+ string(48) "一時保存フォルダが存在しません。"
484
+
485
+ [7]=>
486
+
487
+ string(54) "ディスクへの書き込みに失敗しました。"
488
+
489
+ [8]=>
490
+
491
+ string(78) "拡張モジュールによってアップロードが中断されました。"
492
+
493
+ }
494
+
495
+ array(5) {
496
+
497
+ ["name"]=>
498
+
499
+ array(2) {
500
+
501
+ [0]=>
502
+
503
+ string(36) "bandicam 2016-11-12 18-50-46-457.jpg"
504
+
505
+ [1]=>
506
+
507
+ string(36) "bandicam 2016-11-12 22-25-08-417.jpg"
508
+
509
+ }
510
+
511
+ ["type"]=>
512
+
513
+ array(2) {
514
+
515
+ [0]=>
516
+
517
+ string(10) "image/jpeg"
518
+
519
+ [1]=>
520
+
521
+ string(10) "image/jpeg"
522
+
523
+ }
524
+
525
+ ["tmp_name"]=>
526
+
527
+ array(2) {
528
+
529
+ [0]=>
530
+
531
+ string(50) "C:\Users\hasegawaryo\AppData\Local\Temp\php72A.tmp"
532
+
533
+ [1]=>
534
+
535
+ string(50) "C:\Users\hasegawaryo\AppData\Local\Temp\php72B.tmp"
536
+
537
+ }
538
+
539
+ ["error"]=>
540
+
541
+ array(2) {
542
+
543
+ [0]=>
544
+
545
+ int(0)
546
+
547
+ [1]=>
548
+
549
+ int(0)
550
+
551
+ }
552
+
553
+ ["size"]=>
554
+
555
+ array(2) {
556
+
557
+ [0]=>
558
+
559
+ int(30272)
560
+
561
+ [1]=>
562
+
563
+ int(67484)
564
+
565
+ }
566
+
567
+ }
568
+
569
+ array(2) {
570
+
571
+ [0]=>
572
+
573
+ int(0)
574
+
575
+ [1]=>
576
+
577
+ int(0)
578
+
579
+ }
580
+
581
+ int(0)
582
+
583
+
584
+
585
+ Notice: Undefined offset: 0 in C:\Users\hasegawaryo\Desktop\php\Smarty\postdata\file\file2.php on line 39
586
+
587
+
588
+
589
+ Notice: Undefined offset: 0 in C:\Users\hasegawaryo\Desktop\php\Smarty\postdata\file\file2.php on line 40
590
+
591
+ ```

3

編集

2016/12/20 08:12

投稿

ryo-dev
ryo-dev

スコア437

test CHANGED
File without changes
test CHANGED
@@ -146,98 +146,98 @@
146
146
 
147
147
  array(1) {
148
148
 
149
- ["upfile"]=>
149
+ ["upfile"]=>
150
-
150
+
151
- array(5) {
151
+ array(5) {
152
-
152
+
153
- ["name"]=>
153
+ ["name"]=>
154
-
154
+
155
- array(2) {
155
+ array(2) {
156
-
156
+
157
- [0]=>
157
+ [0]=>
158
-
158
+
159
- string(36) "bandicam 2016-11-12 18-50-46-457.jpg"
159
+ string(36) "bandicam 2016-11-12 18-50-46-457.jpg"
160
-
160
+
161
- [1]=>
161
+ [1]=>
162
-
162
+
163
- string(36) "bandicam 2016-11-12 22-25-08-417.jpg"
163
+ string(36) "bandicam 2016-11-12 22-25-08-417.jpg"
164
+
165
+ }
166
+
167
+ ["type"]=>
168
+
169
+ array(2) {
170
+
171
+ [0]=>
172
+
173
+ string(10) "image/jpeg"
174
+
175
+ [1]=>
176
+
177
+ string(10) "image/jpeg"
178
+
179
+ }
180
+
181
+ ["tmp_name"]=>
182
+
183
+ array(2) {
184
+
185
+ [0]=>
186
+
187
+ string(51) "C:\Users\hasegawaryo\AppData\Local\Temp\php76EE.tmp"
188
+
189
+ [1]=>
190
+
191
+ string(51) "C:\Users\hasegawaryo\AppData\Local\Temp\php76EF.tmp"
192
+
193
+ }
194
+
195
+ ["error"]=>
196
+
197
+ array(2) {
198
+
199
+ [0]=>
200
+
201
+ int(0)
202
+
203
+ [1]=>
204
+
205
+ int(0)
206
+
207
+ }
208
+
209
+ ["size"]=>
210
+
211
+ array(2) {
212
+
213
+ [0]=>
214
+
215
+ int(30272)
216
+
217
+ [1]=>
218
+
219
+ int(67484)
220
+
221
+ }
222
+
223
+ }
164
224
 
165
225
  }
166
226
 
167
- ["type"]=>
227
+
168
-
169
- array(2) {
228
+
170
-
171
- [0]=>
172
-
173
- string(10) "image/jpeg"
174
-
175
- [1]=>
176
-
177
- string(10) "image/jpeg"
178
-
179
- }
180
-
181
- ["tmp_name"]=>
182
-
183
- array(2) {
184
-
185
- [0]=>
186
-
187
- string(51) "C:\Users\hasegawaryo\AppData\Local\Temp\php6A51.tmp"
188
-
189
- [1]=>
190
-
191
- string(51) "C:\Users\hasegawaryo\AppData\Local\Temp\php6A52.tmp"
192
-
193
- }
194
-
195
- ["error"]=>
196
-
197
- array(2) {
198
-
199
- [0]=>
200
-
201
- int(0)
202
-
203
- [1]=>
204
-
205
- int(0)
206
-
207
- }
208
-
209
- ["size"]=>
210
-
211
- array(2) {
212
-
213
- [0]=>
214
-
215
- int(30272)
216
-
217
- [1]=>
218
-
219
- int(67484)
220
-
221
- }
222
-
223
- }
224
-
225
- }
226
-
227
- <br />
228
-
229
- <b>Notice</b>: Undefined index: upfile[$loop] in <b>C:\Users\hasegawaryo\Desktop\php\Smarty\postdata\file\file2.php</b> on line <b>14</b><br />
229
+ Notice: Undefined index: upfile[$loop] in C:\Users\hasegawaryo\Desktop\php\Smarty\postdata\file\file2.php on line 15
230
-
231
- <br />
230
+
232
-
231
+
232
+
233
- <b>Warning</b>: Illegal offset type in <b>C:\Users\hasegawaryo\Desktop\php\Smarty\postdata\file\file2.php</b> on line <b>28</b><br />
233
+ Warning: Illegal offset type in C:\Users\hasegawaryo\Desktop\php\Smarty\postdata\file\file2.php on line 29
234
-
235
- <br />
234
+
236
-
235
+
236
+
237
- <b>Notice</b>: Undefined index: upfile[$loop] in <b>C:\Users\hasegawaryo\Desktop\php\Smarty\postdata\file\file2.php</b> on line <b>14</b><br />
237
+ Notice: Undefined index: upfile[$loop] in C:\Users\hasegawaryo\Desktop\php\Smarty\postdata\file\file2.php on line 15
238
-
239
- <br />
238
+
240
-
239
+
240
+
241
- <b>Warning</b>: Illegal offset type in <b>C:\Users\hasegawaryo\Desktop\php\Smarty\postdata\file\file2.php</b> on line <b>28</b><br />
241
+ Warning: Illegal offset type in C:\Users\hasegawaryo\Desktop\php\Smarty\postdata\file\file2.php on line 29
242
242
 
243
243
  ```

2

追記

2016/12/20 06:18

投稿

ryo-dev
ryo-dev

スコア437

test CHANGED
File without changes
test CHANGED
@@ -135,3 +135,109 @@
135
135
  header('Location: http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/file1.php');
136
136
 
137
137
  ```
138
+
139
+
140
+
141
+ 追記
142
+
143
+ エラーコードを追記します。
144
+
145
+ ```html
146
+
147
+ array(1) {
148
+
149
+ ["upfile"]=>
150
+
151
+ array(5) {
152
+
153
+ ["name"]=>
154
+
155
+ array(2) {
156
+
157
+ [0]=>
158
+
159
+ string(36) "bandicam 2016-11-12 18-50-46-457.jpg"
160
+
161
+ [1]=>
162
+
163
+ string(36) "bandicam 2016-11-12 22-25-08-417.jpg"
164
+
165
+ }
166
+
167
+ ["type"]=>
168
+
169
+ array(2) {
170
+
171
+ [0]=>
172
+
173
+ string(10) "image/jpeg"
174
+
175
+ [1]=>
176
+
177
+ string(10) "image/jpeg"
178
+
179
+ }
180
+
181
+ ["tmp_name"]=>
182
+
183
+ array(2) {
184
+
185
+ [0]=>
186
+
187
+ string(51) "C:\Users\hasegawaryo\AppData\Local\Temp\php6A51.tmp"
188
+
189
+ [1]=>
190
+
191
+ string(51) "C:\Users\hasegawaryo\AppData\Local\Temp\php6A52.tmp"
192
+
193
+ }
194
+
195
+ ["error"]=>
196
+
197
+ array(2) {
198
+
199
+ [0]=>
200
+
201
+ int(0)
202
+
203
+ [1]=>
204
+
205
+ int(0)
206
+
207
+ }
208
+
209
+ ["size"]=>
210
+
211
+ array(2) {
212
+
213
+ [0]=>
214
+
215
+ int(30272)
216
+
217
+ [1]=>
218
+
219
+ int(67484)
220
+
221
+ }
222
+
223
+ }
224
+
225
+ }
226
+
227
+ <br />
228
+
229
+ <b>Notice</b>: Undefined index: upfile[$loop] in <b>C:\Users\hasegawaryo\Desktop\php\Smarty\postdata\file\file2.php</b> on line <b>14</b><br />
230
+
231
+ <br />
232
+
233
+ <b>Warning</b>: Illegal offset type in <b>C:\Users\hasegawaryo\Desktop\php\Smarty\postdata\file\file2.php</b> on line <b>28</b><br />
234
+
235
+ <br />
236
+
237
+ <b>Notice</b>: Undefined index: upfile[$loop] in <b>C:\Users\hasegawaryo\Desktop\php\Smarty\postdata\file\file2.php</b> on line <b>14</b><br />
238
+
239
+ <br />
240
+
241
+ <b>Warning</b>: Illegal offset type in <b>C:\Users\hasegawaryo\Desktop\php\Smarty\postdata\file\file2.php</b> on line <b>28</b><br />
242
+
243
+ ```

1

追記

2016/12/20 05:59

投稿

ryo-dev
ryo-dev

スコア437

test CHANGED
File without changes
test CHANGED
@@ -6,4 +6,132 @@
6
6
 
7
7
  で複数指定を可能にすると、ファイルがアップロードされなくなります。
8
8
 
9
+
10
+
11
+ アップロード
12
+
13
+ ```php
14
+
15
+ <!DOCTYPE html>
16
+
17
+ <html>
18
+
19
+ <head>
20
+
21
+ <meta charset="UTF-8">
22
+
23
+ <title>アップロード処理</title>
24
+
25
+ </head>
26
+
27
+ <body>
28
+
29
+ <!-- アップロード時はenctype属性に注意 -->
30
+
31
+ <form method="POST" action="file2.php" enctype="multipart/form-data">
32
+
33
+ <label for="upfile">ファイルのパス:</label>
34
+
35
+ <!-- アップロード可能ファイルサイズ指定 -->
36
+
37
+ <input type="hidden" name="max_file_size" value="1000000">
38
+
9
- アップロード処理は、別ファイルのphpで処理しています。
39
+ <!-- ファイルの選択ボックス -->
40
+
41
+ <!-- <input id="upfile" type="file" name="upfile" size="40"> -->
42
+
43
+ <input type="file" name="upfile[]" size="40" multiple>
44
+
45
+ <input type="submit" value="アップロード">
46
+
47
+ </form>
48
+
49
+ </body>
50
+
51
+ </html>
52
+
53
+ ```
54
+
55
+ 処理
56
+
57
+ ```php
58
+
59
+ <?php
60
+
61
+ // アップロードファイルの情報を取得
62
+
63
+ $ext = pathinfo($_FILES['upfile']['name']);
64
+
65
+ // アップロードを許可する拡張子を配列で定義
66
+
67
+ $perm = ['gif', 'jpg', 'jpeg', 'png'];
68
+
69
+ // アップロード処理そのものの成否をチェック
70
+
71
+ if ($_FILES['upfile']['error'] !== UPLOAD_ERR_OK){
72
+
73
+ $msg = [
74
+
75
+ UPLOAD_ERR_INI_SIZE => 'php.iniのupload_max_filesizeの制限を越えています。',
76
+
77
+ UPLOAD_ERR_FORM_SIZE => 'HTMLのMAX_FILE_SIZE 制限を越えています。',
78
+
79
+ UPLOAD_ERR_PARTIAL => 'ファイルが一部しかアップロードされていません。',
80
+
81
+ UPLOAD_ERR_NO_FILE => 'ファイルはアップロードされませんでした。',
82
+
83
+ UPLOAD_ERR_NO_TMP_DIR => '一時保存フォルダが存在しません。',
84
+
85
+ UPLOAD_ERR_CANT_WRITE => 'ディスクへの書き込みに失敗しました。',
86
+
87
+ UPLOAD_ERR_EXTENSION => '拡張モジュールによってアップロードが中断されました。',
88
+
89
+ ];
90
+
91
+ $err_msg = $msg[$_FILES['upfile']['error']];
92
+
93
+ // 拡張時が許可されたものであるかを判定
94
+
95
+ } elseif (!in_array(strtolower($ext['extension']), $perm)){
96
+
97
+ $err_msg = '画像以外のファイルはアップロードできません。';
98
+
99
+ // ファイルの内容が画像であるかチェック
100
+
101
+ } elseif (!@getimagesize($_FILES['upfile']['tmp_name'])){
102
+
103
+ $err_msg = 'ファイルの内容が画像ではありません。';
104
+
105
+ // エラーチェックを終えたら、アップロード処理
106
+
107
+ } else {
108
+
109
+ $src = $_FILES['upfile']['tmp_name'];
110
+
111
+ // $dest = mb_convert_encoding($_FILES['upfile']['name'], 'SJIS-WIN', 'UTF-8');
112
+
113
+ $dest = $_FILES['upfile']['name'];
114
+
115
+ // アップロードファイルのアプロード先
116
+
117
+ if (!move_uploaded_file($src, 'doc/'.$dest)){
118
+
119
+ $err_msg = 'アップロード処理に失敗しました。';
120
+
121
+ }
122
+
123
+ }
124
+
125
+ // エラー発生時はエラーメッセージを表示
126
+
127
+ if (isset($err_msg)){
128
+
129
+ die('<div style="color:Red;">'.$err_msg.'</div>');
130
+
131
+ }
132
+
133
+ // 処理成功時はフォームにリダイレクト
134
+
135
+ header('Location: http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/file1.php');
136
+
137
+ ```