【问题标题】:can't create csv a file under folder csvfile due to folder permission由于文件夹权限,无法在文件夹 csvfile 下创建 csv 文件
【发布时间】:2014-06-01 14:15:36
【问题描述】:

我的文件夹结构是这样的(LINUX环境和文件权限都是0775文件夹)

application
library
public
csvfile
test
log

我的这个项目的虚拟主机:

ServerName example.project.local
DocumentRoot /var/www/project/public

出于项目需求的目的,我需要在文件夹 csvfile 下创建 csv,正如我提到的 DocumentRoot /var/www/project/public。

我的问题是由于文件夹权限(0775),我无法在文件夹 csvfile 下创建文件。如果使用 (0777) 则可以,但我需要在 (0775) 权限下创建。

我使用了以下代码:

echo $output;
$filename = str_replace('public', 'csvfile', $_SERVER['DOCUMENT_ROOT'])."/$user_time.csv";
$fp = fopen($filename, 'w');
fwrite($fp, $output);
$contenttype = "application/force-download";
header("Content-Type: " . $contenttype);
header("Content-Disposition: attachment; filename=\"" . basename($filename) . "\";");

请帮助解决这个问题。

【问题讨论】:

  • 为什么要 775?只需设置 o+w 权限

标签: php mysql linux oop zend-framework


【解决方案1】:

试试这个 ABSPATH 是绝对路径

fopen(ABSPATH.'RankCSVFILE/KeywordRankReport'.$user_time.'.csv', 'w');

【讨论】:

  • 虚拟主机路径:/var/www/project/public getcwd(); /var/www/project/public $path = str_replace('public', 'csvfile', getcwd()); ///var/www/project/csvfile // csvfile 文件夹权限 (0775) chmod($path,0777); $fp = fopen($path.'/'.$user_time.'.csv', 'w'); fwrite($fp, $输出); 但问题是一样的,由于权限原因,我无法创建文件。
猜你喜欢
  • 2017-04-08
  • 1970-01-01
  • 2016-11-21
  • 2012-10-21
  • 2011-08-12
  • 2013-09-05
  • 2011-08-18
相关资源
最近更新 更多