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

回答編集履歴

3

調整

2021/07/27 02:53

投稿

yambejp
yambejp

スコア117912

answer CHANGED
@@ -18,7 +18,7 @@
18
18
  <a href="<?=$src?>" download="sample.csv"></a>
19
19
  ```
20
20
  # 修正版
21
- よくよく考えたらbase64しなくてもよかったですね
21
+ よくよく考えたら同じドメイン内ならbase64しなくてもよかったですね
22
22
  ```
23
23
  <?PHP
24
24
  $csv=file_get_contents("sample.csv");

2

調整

2021/07/27 02:53

投稿

yambejp
yambejp

スコア117912

answer CHANGED
@@ -16,4 +16,18 @@
16
16
  </script>
17
17
  <textarea><?=htmlspecialchars($csv)?></textarea>
18
18
  <a href="<?=$src?>" download="sample.csv"></a>
19
+ ```
20
+ # 修正版
21
+ よくよく考えたらbase64しなくてもよかったですね
22
+ ```
23
+ <?PHP
24
+ $csv=file_get_contents("sample.csv");
25
+ ?>
26
+ <script>
27
+ window.addEventListener('DOMContentLoaded', ()=>{
28
+ document.querySelector('a[download]').click();
29
+ });
30
+ </script>
31
+ <textarea><?=htmlspecialchars($csv)?></textarea>
32
+ <a href="sample.csv" download="sample.csv"></a>
19
33
  ```

1

test

2021/07/27 02:51

投稿

yambejp
yambejp

スコア117912

answer CHANGED
@@ -1,3 +1,19 @@
1
1
  質問の意図がわかりませんが
2
2
  HTMLでテーブル表記しつつ、CSVダウンロードする画面も出したいのですか?
3
- まずは表記しておきアンカーにdownload属性をつけてclickするとか
3
+ まずは表記しておきアンカーにdownload属性をつけてclickするとか
4
+
5
+ # sample
6
+ csvデータを表示させつつダウンロードさせる
7
+ ```php
8
+ <?PHP
9
+ $csv=file_get_contents("sample.csv");
10
+ $src="data:text/csv;base64,".base64_encode($csv);
11
+ ?>
12
+ <script>
13
+ window.addEventListener('DOMContentLoaded', ()=>{
14
+ document.querySelector('a[download]').click();
15
+ });
16
+ </script>
17
+ <textarea><?=htmlspecialchars($csv)?></textarea>
18
+ <a href="<?=$src?>" download="sample.csv"></a>
19
+ ```