我生成一个文件来呈现给用户下载,但服务器并没有让我打开它,因为它需要有权限777之前,它可以这样做。在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");
readfile($name);
任何方式之前,我打开它之前设置的这个权限,或如何将我去这样做?该文件还没有创建,所以它可能是一个无限循环。我应该制作文件,然后打开它,或者是什么?
为什么不直接使用'echo $ data'?或者你还需要该文件还有其他的东西? – 2009-10-28 17:38:01
Lukas Lalinsky是对的。你应该在你的头文件后将数据发送给用户。它不会将它写入您的服务器以保存您的硬盘。 – elviejo79 2009-10-28 17:40:09