回答編集履歴

1

追記

2020/06/03 05:26

投稿

tanat
tanat

スコア18713

test CHANGED
@@ -18,4 +18,54 @@
18
18
 
19
19
 
20
20
 
21
+ 例えば二つ目のコードで
22
+
23
+ ```PHP
24
+
25
+
26
+
27
+ $id = '20200603';
28
+
29
+
30
+
31
+ //画像のパスとファイル名
32
+
33
+ $fpath = "./datas/{$id}/images/image01.png";
34
+
35
+ $fname = 'image01.png';
36
+
37
+
38
+
39
+ //画像のダウンロード
40
+
41
+ header('Content-Type: application/octet-stream');
42
+
43
+ header('Content-Length: '.filesize($fpath));
44
+
45
+ header('Content-disposition: attachment; filename="'.$fname.'"');
46
+
47
+ readfile($fpath);
48
+
49
+
50
+
51
+ //画像のダウンロード2回目
52
+
53
+ header('Content-Type: application/octet-stream');
54
+
55
+ header('Content-Length: '.filesize($fpath));
56
+
57
+ header('Content-disposition: attachment; filename="'.$fname.'"');
58
+
59
+ readfile($fpath);
60
+
61
+
62
+
63
+ ```
64
+
65
+ としてみると問題が再現できますので試してみてください。
66
+
67
+ (試していませんが、おそらくダウンロードされるファイルのサイズが約2倍になっているはずです)
68
+
69
+
70
+
21
71
  よくある解決方法としては、ディレクトリをzipなどで一つのファイルに固めてから、1回でダウンロードさせることです。