PHP:将文件保存在Root之上 - fopen():不支持远程主机文件访问

时间:2017-03-25 07:43:34

标签: php fopen tcpdf

我正在尝试将tcpdf生成的PDF存储在“uploaded_files”中但收到错误。我检查了VizFrame但是他们在webroot中有路径。在我的情况下,路径高于根。

$pdf->Output("../../uploaded_files/".'Temp.pdf', 'F'); 
  

消息:fopen():不支持远程主机文件访问

以下是路径详细信息:

Web Root Path:/var/www/html/index.php
Upload Folder Path: /var/uploaded_files/

两个目录的权限&文件是0777

2 个答案:

答案 0 :(得分:1)

该问题与文件/目录权限有关。仅出于检查目的,将/var/uploaded_files的访问级别设置为777,并将所有者更改为目录/var/uploaded_files的apache用户,然后尝试保存文件。如果成功,则根据您的要求调整权限。我建议不要采用这种方法,因为允许Apache访问webroot以外的文件系统实际上非常危险。

答案 1 :(得分:1)

您需要使用绝对文件路径而不是相对文件路径。尝试像

这样的东西
$pdf->Output("/var/uploaded_files/".'Temp.pdf', 'F'); 

或者

$pdf->Output(__DIR__ . "../../uploaded_files/".'Temp.pdf', 'F');