首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置强制下载文件的权限

设置强制下载文件的权限
EN

Stack Overflow用户
提问于 2016-01-11 06:33:21
回答 2查看 3.4K关注 0票数 0

我不得不强制下载excel文件。如我所愿,文件正被完美地下载。但问题是,当我要更改和保存文件的内容时,显示出的错误就好像我无法访问更改文件一样。所以,我必须在下载文件时设置文件的权限。但我不知道怎么做。如果有人能回答的话,我们会很感激的。这是我的代码,它可以很好地作为下载文件。

代码语言:javascript
复制
$filename = 'myfile.xlsx';
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=$filename");
header("Pragma: no-cache");
header("Expires: 0");
print "$header\n$data";     //$header and $data are the array contains data with '\t' (tabular form data).

因为我改变了我的代码。但问题依然存在。问题是,此代码仅将权限设置为仅在服务器端创建的文件,而不是在客户端下载的文件。这是更新的代码。

代码语言:javascript
复制
$filename = 'myfile.xlsx';
$fp = fopen('/var/www/html/cakephp-3.0/webroot/downloads/' . $filename, 'w');
fwrite($fp, "$header\n$data");
fclose($fp);
chmod('/var/www/html/cakephp-3.0/webroot/downloads/' . $filename, 0777);

// Generate Excel File
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=$filename");
header("Pragma: no-cache");
header("Expires: 0");
readfile('/var/www/html/cakephp-3.0/webroot/downloads/' . $filename);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-11 07:21:59

解决了。由于客户端的问题,文件保存在某个文件夹中,默认情况下所有文件都是只读的。所以,由于我改变了下载文件夹的位置,它现在工作得很好。所以代码已经完全正确了。

票数 0
EN

Stack Overflow用户

发布于 2016-01-11 07:11:03

PHP有一个名为chmod()的函数,用于更改文件权限。

用法:chmod($path,0777);

在下面的链接1链接2中有更多信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34715448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档