PHP:将文件保存在根目录之上 - fopen():不支持远程主机文件访问
PHP: Saving File Above Root - fopen(): remote host file access not supported
我正在尝试将 tcpdf 生成的 PDF 存储在 "uploaded_files" 中,但出现错误。我检查了 但它们在 webroot 中有路径。在我的情况下,路径在 root 之上。
$pdf->Output("../../uploaded_files/".'Temp.pdf', 'F');
Message: fopen(): remote host file access not supported
路径详情如下:
Web Root Path:/var/www/html/index.php
Upload Folder Path: /var/uploaded_files/
目录和文件的权限均为 0777
此问题与 file/directory 权限有关。仅出于检查目的,将 /var/uploaded_files
的访问级别更改为 777
并将所有者更改为目录 /var/uploaded_files
的 apache 用户,然后尝试保存文件。如果成功,则根据您的要求调整权限。我建议不要采用这种方法,因为允许 Apache 访问 webroot 以外的文件系统实际上是非常危险的。
您需要使用绝对文件路径而不是相对文件路径。试试像
$pdf->Output("/var/uploaded_files/".'Temp.pdf', 'F');
或者
$pdf->Output(__DIR__ . "../../uploaded_files/".'Temp.pdf', 'F');
我正在尝试将 tcpdf 生成的 PDF 存储在 "uploaded_files" 中,但出现错误。我检查了
$pdf->Output("../../uploaded_files/".'Temp.pdf', 'F');
Message: fopen(): remote host file access not supported
路径详情如下:
Web Root Path:/var/www/html/index.php
Upload Folder Path: /var/uploaded_files/
目录和文件的权限均为 0777
此问题与 file/directory 权限有关。仅出于检查目的,将 /var/uploaded_files
的访问级别更改为 777
并将所有者更改为目录 /var/uploaded_files
的 apache 用户,然后尝试保存文件。如果成功,则根据您的要求调整权限。我建议不要采用这种方法,因为允许 Apache 访问 webroot 以外的文件系统实际上是非常危险的。
您需要使用绝对文件路径而不是相对文件路径。试试像
$pdf->Output("/var/uploaded_files/".'Temp.pdf', 'F');
或者
$pdf->Output(__DIR__ . "../../uploaded_files/".'Temp.pdf', 'F');