如何在 joomla 网站中访问public_html之外的 pdf 文件?



实际上我想编辑一个模块以从public_html外部获取PDF文件。

我已经尝试将要从中获取PDF的文件的权限更改为777。

我正在尝试通过以下代码获取PDF

$baseurl = JURI::base((; $outside_baseurl = $baseurl.'../pdf/name.pdf';

显示此错误

无法访问文件! https://mysitedomain.com/../pdf/name.pdf

像这样在开放的情况下访问公用文件夹范围之外的文件确实不安全。它有可能打开严重的安全漏洞。如果您尝试这样做来修改或使用 PHP 内部的 PDF 文件,您应该能够这样做。如果您尝试将其发送给用户进行下载或预览,则可能需要尝试fpassthru()。类似于下面的示例。

<?php
$path = 'path/to/file.pdf';
$public_name = basename($path);
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = finfo_file($finfo, $path);
header("Content-Disposition: attachment; filename=$public_name;");
header("Content-Type: $mime_type");
header('Content-Length: ' . filesize($path));
$fop = fopen($path, 'rb');
fpassthru($fop);
exit;

这应该符合您的目的。

最新更新