我生成一个文件呈现给用户下载,但是服务器不允许我打开它,因为它需要具有777的权限才能打开它。
这是我的代码
$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);
在我打开之前设置权限的任何方式,或者我将如何进行此操作?该文件尚未创建,因此它可能是一种无限循环。我应该制作文件,然后打开它,还是什么?
答案 0 :(得分:3)
如果您不需要正在编写的临时文件$ name,那么只需将其直接传输而不创建文件。
您只需输出所有标题并回显输出即可。
答案 1 :(得分:1)
如果文件名已修复,则