回答編集履歴

3

調整

2021/07/27 02:53

投稿

yambejp
yambejp

スコア114883

test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
  # 修正版
40
40
 
41
- よくよく考えたらbase64しなくてもよかったですね
41
+ よくよく考えたら同じドメイン内ならbase64しなくてもよかったですね
42
42
 
43
43
  ```
44
44
 

2

調整

2021/07/27 02:53

投稿

yambejp
yambejp

スコア114883

test CHANGED
@@ -35,3 +35,31 @@
35
35
  <a href="<?=$src?>" download="sample.csv"></a>
36
36
 
37
37
  ```
38
+
39
+ # 修正版
40
+
41
+ よくよく考えたらbase64しなくてもよかったですね
42
+
43
+ ```
44
+
45
+ <?PHP
46
+
47
+ $csv=file_get_contents("sample.csv");
48
+
49
+ ?>
50
+
51
+ <script>
52
+
53
+ window.addEventListener('DOMContentLoaded', ()=>{
54
+
55
+ document.querySelector('a[download]').click();
56
+
57
+ });
58
+
59
+ </script>
60
+
61
+ <textarea><?=htmlspecialchars($csv)?></textarea>
62
+
63
+ <a href="sample.csv" download="sample.csv"></a>
64
+
65
+ ```

1

test

2021/07/27 02:51

投稿

yambejp
yambejp

スコア114883

test CHANGED
@@ -3,3 +3,35 @@
3
3
  HTMLでテーブル表記しつつ、CSVダウンロードする画面も出したいのですか?
4
4
 
5
5
  まずは表記しておきアンカーにdownload属性をつけてclickするとか
6
+
7
+
8
+
9
+ # sample
10
+
11
+ csvデータを表示させつつダウンロードさせる
12
+
13
+ ```php
14
+
15
+ <?PHP
16
+
17
+ $csv=file_get_contents("sample.csv");
18
+
19
+ $src="data:text/csv;base64,".base64_encode($csv);
20
+
21
+ ?>
22
+
23
+ <script>
24
+
25
+ window.addEventListener('DOMContentLoaded', ()=>{
26
+
27
+ document.querySelector('a[download]').click();
28
+
29
+ });
30
+
31
+ </script>
32
+
33
+ <textarea><?=htmlspecialchars($csv)?></textarea>
34
+
35
+ <a href="<?=$src?>" download="sample.csv"></a>
36
+
37
+ ```