不允许PHP加载本地资源

不允许PHP加载本地资源,php,download,Php,Download,我不确定为什么会出现以下错误: Not allowed to load local resource: file:///D:/CargoDocsPDFs/0000024606//NAM3112358.pdf 我正在使用以下功能创建一个表,其中包含指向pdf文件的链接,用户只需单击即可下载: <?php function return401KDocs() { $dir = "D:/CargoDocsPDFs/0000024606/"; $ffs = scandir($dir); echo

我不确定为什么会出现以下错误:

Not allowed to load local resource: file:///D:/CargoDocsPDFs/0000024606//NAM3112358.pdf
我正在使用以下功能创建一个表,其中包含指向pdf文件的链接,用户只需单击即可下载:

<?php
function return401KDocs()
{
$dir = "D:/CargoDocsPDFs/0000024606/";
$ffs = scandir($dir);

echo "<table class='table table-bordered display nowrap'>";
echo "<thead>";
echo "<tr>
        <th style='width:300px;'>File Name</th>
        <th style='width:100px;'>Upload Date</th>
        <th style='width:25px;'>File Size</th>
        <th style='width:100px;'>Delete</th>
      </tr>";
echo "</thead>";
echo "<tbody>";
foreach($ffs as $ff)
{
    if($ff != '.' && $ff != '..' && preg_match('#(pdf|doc|docx|xls|xlsx|PDF)$#',$ff))
    {                       
        $filesize = filesize($dir . '/' . $ff); 
        echo "<tr><td><a download href='$dir/$ff'>$ff</a></td><td>" . 
        date('m.d.y - g:i A', filemtime($dir . '/' . $ff)) . 
        "</td><td>" . round(($filesize / 1024), 2) . " kb</td>
        <td><a href='#' class='delete401KFile' data-file='".$ff."'>Delete</a></td></tr>";
    }
}
echo "</tbody>";
echo "</table>";
}    
?>

我做了一个回答,因为有几点我无法发表评论,所以请不要投反对票

您不应该从本地文件系统加载文件。您需要将其与应用程序一起托管,并从web服务器上加载

您将永远无法在客户端上直接显示存储文件夹(C或D驱动器)中的文件。浏览器唯一能真正做到的是:

  • 实际上位于公用文件夹下面的内容
  • 通过index.php(您的应用程序)调用的代码
  • 因此,您需要将文件存储在(服务器的)公用文件夹中的某个位置

    您可以通过此链接获得一些帮助:

    也许是
    file:///D:/CargoDocsPDFs/0000024606//NAM3112358.pdf
    。所以
    $filesize=filesize($dir.'/'.$ff)
    应该是
    $filesize=filesize($dir.$ff)@Hanswasink-运气不好,只是收到了同样的错误。我从不投任何人的反对票。如果我这样做了,我至少会解释为什么我否决了他们。关于你的回答,我们的网络文件确实在C:驱动器上,但是PDF文件需要上传并保存到D:驱动器中。你是说这是不可能的还是不明智的?这是不明智的,不应该这样做,因为你试图访问绝对路径&而且你实际上不能引用服务器驱动器,除非它的linux和你正在将驱动器安装到服务器上(这也需要一个完全不同的代码)在这种情况下,这并不是问题所在。另外,我也不明白为什么你想直接在驱动器中写入和读取文件,在web app中创建一个公用文件夹(如果使用xampp,项目的根文件夹将保留在htdocs中),并在那里存储PDF,为每个文件提供唯一的id,这样你就可以开始了