【问题标题】:Can't Download a file from a folder [duplicate]无法从文件夹下载文件[重复]
【发布时间】:2012-01-09 11:11:00
【问题描述】:

可能重复:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select

在 codeigniter 中,我无法从文件夹中下载 pdf 文件。尝试下载时, 在我们的服务器中它正在工作,但是在客户端的服务器中它不工作。可能是什么原因?

这是我在控制器中的代码。

$directory = './pdf/';
set_realpath($directory);
$file = $directory.'dwn.pdf';
$fp = fopen($file,'wb');
$pdfcode = "---some texts----";
fwrite($fp,$pdfcode);
fclose($fp);
$data = file_get_contents(base_url()."pdf/dwn.pdf"); // Read the file's contents
$name = 'dwn.pdf';
force_download($name, $data); 

这是错误。

A PHP Error was encountered

Severity: Warning

Message: fopen(./pdf/dwn.pdf) [function.fopen]: failed to open stream: Permission denied

Filename: controllers/pms.php

Line Number: 732
A PHP Error was encountered

Severity: Warning

Message: fwrite() expects parameter 1 to be resource, boolean given

Filename: controllers/pms.php

Line Number: 733
A PHP Error was encountered

Severity: Warning

Message: fclose() expects parameter 1 to be resource, boolean given

Filename: controllers/pms.php

Line Number: 734

【问题讨论】:

  • 错误描述不是说明了什么问题吗?
  • 可能相关:stackoverflow.com/questions/8321275/… 如该答案中所述,您是否更改了权限?
  • 是的,我将权限更改为 777
  • @Kichu 到什么? PDF文件夹和文件是否都具有正确的权限?
  • 我只是将文件夹的权限更改为777。现在我将该文件夹中的文件的权限更改为777。所以它现在可以工作了。

标签: php codeigniter download file-permissions


【解决方案1】:

可能是文件名和/或权限,试试这个修改后的代码

$directory = './pdf/';
set_realpath($directory);
$file = $directory.'dwn.pdf';
chmod($file,0777);
$fp = fopen($file,'wb');
$pdfcode = "---some texts----";
fwrite($fp,$pdfcode);
fclose($fp);
$data = file_get_contents($file); // Read the file's contents
$name = 'dwn.pdf';
force_download($name, $data); 

【讨论】:

    猜你喜欢
    • 2019-06-28
    • 2016-10-22
    • 2015-10-26
    • 2020-05-15
    • 1970-01-01
    • 2020-09-02
    • 1970-01-01
    • 2017-09-05
    • 1970-01-01
    相关资源
    最近更新 更多