Попытка записи в файл и принудительной загрузки с помощью php - PullRequest
2 голосов
/ 28 октября 2009

Я использую следующий код для представления файла для скачивания. Файл правильно сохраняет данные на сервере и запрашивает загрузку, но загруженный файл пуст. Новый файл находится в том же каталоге, что и этот скрипт.

<?php

if(strlen($_POST['name'])<1){
echo "error: you must enter a filename<br><a href=data.php>back</a>";
exit();
}

$name = $_POST['name'];
$data = file_get_contents("temp.php");

$fh = fopen("$name", 'w') or die("can't open file");
fwrite($fh, $data);
fclose($fh);

header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Length: ". filesize("$name").";");
header("Content-Disposition: attachment; filename=$name");
header("Content-Type: application/octet-stream; "); 
header("Content-Transfer-Encoding: binary");

?>

1 Ответ

4 голосов
/ 28 октября 2009

Вы никогда не отправляете файл пользователю. Добавьте это после заголовков:

readfile($name);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...