我正在生成一个文件以呈现给用户下载,但是服务器不允许我打开它,因为它必须具有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);
在我打开它之前设置任何权限的任何方法,或者我将如何去做?该文件尚未创建,因此可能是一个无限循环.我应该制作文件,然后打开它,还是什么?
解决方法:
如果您不需要写入的临时文件$name,则直接将其流式传输,而无需创建任何文件.
您可以只输出所有标头并回显输出.
标签:chmod,php
来源: https://codeday.me/bug/20191107/2002516.html