以下のように、あるファイルをダウンロードするPHPプログラムを作りました。
PHP
1<?php 2 mb_internal_encoding('UTF-8'); 3 if (isset($_POST['file'])) { 4 $out = $_POST['file']; 5 header('Content-Type: application/octet-stream'); 6 header("Content-Disposition: attachment; filename=dl_$out"); 7 header("Content-Length: ".filesize("$out")); 8 readfile("$out"); 9 } 10?> 11<!DOCTYPE html> 12<html> 13<head> 14<meta charset="UTF-8"> 15<title>テスト</title> 16</head> 17<body> 18<form name="f" id="f" action="" method='post'> 19ファイル名: 20<input type='text' name='file' value =''> 21<br /> 22<input type='submit' value='表示'> 23</form> 24
これでFirefoxとEdgeではうまく指定したファイルの中身をダウンロードしてくれるのですが、Chromeをつかうとその後に、このプログラム自身のHTMLコード部分を下のように出力してしまいます。
text
1User-agent: * 2Disallow: /sample/ 3<!DOCTYPE html> 4<html> 5<head> 6<meta charset="UTF-8"> 7<title>テスト</title> 8</head> 9<body> 10<form name="f" id="f" action="" method='post'> 11ファイル名: 12<input type='text' name='file' value =''> 13<br /> 14<input type='submit' value='表示'> 15</form> 16
はじめの2行がファイルの中身で、その後にHTMLコードが出ています。
なぜChromeだけがこうなるのでしょうか?
そして、どうしたらファイルだけをダウンロードするようにできるのでしょうか?
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/30 04:09
退会済みユーザー
2019/07/30 04:12
2019/07/30 04:43
退会済みユーザー
2019/07/30 04:47
2019/07/31 00:25