0

我想从.htaccess 保护正常访问的文件夹中下载文件。我找到了很多教程,但没有一个对我有用。

.htaccess

<files "passportScan.jpg">
  deny from all
</files>

php

$file_name = 'passportScan.jpg';
$file_url = self::SERVER_URL . 'uploads/prom_conf/'.$user['uid'].'/' . $file_name;    
header("Content-Description: File Transfer"); 
header('Content-Type: image/jpeg');
header("Content-disposition: attachment; filename=\"".$file_name."\"");
readfile($file_url);

当我访问 url /uploads/passportScan.jpg 时,它是被禁止的。那是对的。但是当我调用我的 php 方法时,它会强制下载文件但随后出现错误“无法读取文件头!未知文件格式或找不到文件!”

编辑 如果我删除 htaccess 它工作正常。

编辑 2 链接从电子邮件中调用。

4

2 回答 2

3

如果文件与您的 php 脚本位于同一服务器上,则只需使用内部路径

于 2013-08-21T08:02:18.703 回答
0

您可以创建文件,而不是使用完整的 http url,例如。download.php然后使用download.php?file=ID.

于 2013-08-21T08:05:56.937 回答