Webルート上のフォルダからファイルをダウンロードします。のは、私は、このファイルを取得したいとしましょう:PHPは相対パスのない/ varフォルダからファイルをダウンロードします
/var/pdfs/test.pdf
私のコードは次のとおりです。
$name = "test.pdf";
$url = "/var/pdfs/" . $name;
if (file_exists($url)) {
header("Content-Type: application/pdf");
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename='" . basename($url) . "'");
readfile($url);
} else {
echo "Not found: $url";
}
問題は、私はいつもNot found: $url
エコーを得ることです。あまりに
[email protected]:/var/pdfs$ ls -la
total 6484
drwxr--r-- 2 thecrafter root 4096 Jul 7 00:19 .
drwxr-xr-x 13 root root 4096 Jul 7 00:16 ..
-rw-r--r-- 1 thecrafter thecrafter 6629018 Jul 7 00:18 test.pdf
とディレクトリ::
私のファイルには、権限を読み取った
[email protected]:/var$ ls -la | grep pdfs
drwxr--r-- 2 thecrafter root 4096 Jul 7 00:19 pdfs
は、私が何かを欠場か?問題はどこだ?
EDITは1
クシシュトフDuszczykは、私がpdfs
ディレクトリに実行権限を与える場合は、問題が解決されることを指摘しました。確かに私はそれを与えた755
そしてそれは働いている。それがなぜ起こるのか?
pdfsフォルダに読み取り権がありますか? –
IMHO同じ問題がある、それをチェックしてください。 http://stackoverflow.com/a/17896538/6557808 – Sylogista
@KrzysztofDuszczykはい、私は私の質問を編集しました。 – TheCrafter