2016-08-15 4 views
-2
<?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), что может быть проблемы с лайн- заканчивая, но когда testing.txt было загруженных и открывается следующая строка появляется с некоторыми номеров, занесенных в передней части:PHP текстовый файл имеет номера перед при загрузке + неожиданное название файла

25Who let the dogs out?!

Второй вопрос: я заметил, имя файла я s Resource id #3.txt вместо testing.txt. Поиск Google показывает, что это сообщение об ошибке обычно связано с MySQL/PHP, но это только PHP для моего случая.

+1

вместо 'эхо FWRITE ($ файл, $ txt); 'просто напишите' fwrite ($ file, $ txt); 'и' header ("Content-Disposition: attachment; filename = $ filename.txt"); ' –

+0

также, y ou используют '$ file' для имени файла, это файловый ресурс и, как ожидается, вы получите его строковое представление как имя вашего файла –

ответ

1

Я думаю, это потому, что у вас есть эта строка в коде

echo fwrite($file, $txt); 

Попробуйте этот код

fwrite($file, $txt); 

и исправить эту

$filename = 'testing.txt'; 
header("Content-Disposition: attachment; filename=$filename.txt"); 
+0

Хорошо, это чистое смущение на моем конце. Не могу поверить, что решение так просто (я думал, что это что-то связано с CR)! Также я * просто * заметил, что я случайно пропустил fclose(). – taylorswiftfan