ユーザーがこのリンクをクリックするとファイルをダウンロードできる PHP ページを作成しました。
<a href="download_pdf.php?pubid=<?php echo $row_rsPublications['pubID']; ?>&file=<?php echo $row_rsPublications['file']; ?>">Download File</a>
リンク先のダウンロード ページも作成しました。
<?php
if(isset($_GET['file'])) {
$fileID = $_GET['pubid'];
$filename= ($_GET['file']);
$path = "admin/pubfiles/";
$fullPath = $path . $filename;
mysql_select_db($database_connDioceseofife, $connDioceseofife);
$sql = "SELECT file FROM publications WHERE pubID = $fileID";
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_assoc($result);
if($filename == NULL) {
die('No file exists or the name is invalid!');
}
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header("Content-Disposition: attachment; filename=\"$filename\"");
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
readfile($fullPath);
}
?>
今私の問題は、ダウンロード ポップアップ ウィンドウが表示されたときに、ファイルが 0 バイトであると表示されることです。そして、ダウンロードしても開けません。サポートされているファイル タイプではないか、損傷または破損しているというメッセージが表示されます。
どんな助けでも大歓迎です。