PHP 下载时文本文件前面有数字 + 意外的文件名
PHP text file has numbers in front when downloaded + unexpected file name
<?php
$file = fopen("testing.txt","w");
$txt = "Who let the dogs out?! \r\n";
echo fwrite($file, $txt);
header("Cache-Control: private");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$file.txt");
header("Content-Type: text/plain; ");
header("Content-Transfer-Encoding: binary");
readfile('testing.txt');
?>
第一个问题: 我在 PHP 网站 (http://php.net/manual/en/function.fopen.php) 上看到 line-ending[ 可能有问题=27=],但是当testing.txt
已经下载并打开时,会出现下面一行,前面加了一些数字:
25Who let the dogs out?!
第二期: 我注意到文件名是 Resource id #3.txt
而不是 testing.txt
。 Google 搜索显示该错误消息通常与 MySQL/PHP 相关联,但对于我的案例来说它只是 PHP。
我猜,这是因为你的代码中有这一行
echo fwrite($file, $txt);
试试这个代码
fwrite($file, $txt);
并更正这个
$filename = 'testing.txt';
header("Content-Disposition: attachment; filename=$filename.txt");
<?php
$file = fopen("testing.txt","w");
$txt = "Who let the dogs out?! \r\n";
echo fwrite($file, $txt);
header("Cache-Control: private");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$file.txt");
header("Content-Type: text/plain; ");
header("Content-Transfer-Encoding: binary");
readfile('testing.txt');
?>
第一个问题: 我在 PHP 网站 (http://php.net/manual/en/function.fopen.php) 上看到 line-ending[ 可能有问题=27=],但是当testing.txt
已经下载并打开时,会出现下面一行,前面加了一些数字:
25Who let the dogs out?!
第二期: 我注意到文件名是 Resource id #3.txt
而不是 testing.txt
。 Google 搜索显示该错误消息通常与 MySQL/PHP 相关联,但对于我的案例来说它只是 PHP。
我猜,这是因为你的代码中有这一行
echo fwrite($file, $txt);
试试这个代码
fwrite($file, $txt);
并更正这个
$filename = 'testing.txt';
header("Content-Disposition: attachment; filename=$filename.txt");