0

私がやりたいのは、ユーザーごとに1回のダウンロード(hrefへの1回のアクセス)のみを許可することです。そのために、ユーザーのテーブルに変数があり、リンクがクリックされたときに変更します。そのために「download.php?file=file.xxx」を使用します。

download.php

$file= basename($_GET['file']);
$root = "documents/rece/";
$path= $root.$file;
echo $path;

if (is_file($path))
{
   header('Content-Description: File Transfer');
   header('Content-Type: application/octet-stream');
   header('Content-Disposition: attachment; filename='.$file);
   header('Content-Transfer-Encoding: binary');
   header('Expires: 0');
   header('Cache-Control: must-revalidate');
   header('Pragma: public');
   header('Content-Length: ' . filesize($path));
   readfile($path);
}
else
      echo "File error";
   exit();

?>

私もDDBBを更新し、それは機能します。その後、リンクを表示または非表示にできます。問題は、ダウンロードしたファイルが破損していて開くことができないことです。私はそれをpdfまたはdoc、多分zipで使用します。

パスのせいでしょうか?

4

1 に答える 1

0

私の知る限り、PDFファイルは次のようなものから始まります。

%PDF-1.4

あなたは4つの空白行と。で始まりdocuments/rece/Form.pdf%PDF-1.4ます。あなたは明らかにあなたが投稿したコードの前のどこかにそれを自分で印刷しています。

于 2013-02-14T11:50:45.953 に答える