2017-09-11 9 views
0

私のコードは正常に動作しています。私のファイルもダウンロードしていますが、1つのファイルを開いたときにエラーが発生していません "エラー PDFドキュメントを読み込めませんでした"pdfファイルを開くことができません

<?php 

    $pno = $_GET['pno']; 


    $sql = "SELECT file FROM tenders WHERE Tno = $id"; 


    $file = "data/" . $mysql_row['file ']; 

    header("Content-type:application/pdf"); 

    header("Content-Disposition:attachment;filename='downloaded.pdf'"); 

    readfile($file); 
    ?> 
+0

ファイルが有効なPDFかどうか尋ねます。 – mplungjan

+0

@mplungjanはいそうです。 –

+0

許可を確認 –

答えて

0

ファイルが存在するかどうかを常に確認することをおすすめします。 readfile()を実行しないと、最終的にPDFファイル内にエラーが発生し、問題が発生する可能性があります。次のように試してください:

$pno = $_GET['pno']; 
$sql = "SELECT file FROM tenders WHERE Tno = $id"; 

$file = "data/" . $mysql_row['file ']; 

if(file_exists($file)){ 
    header("Content-type:application/pdf"); 
    header("Content-Disposition:attachment;filename='downloaded.pdf'"); 
    readfile($file); 
} else { 
    echo "File does not exist!"; 
} 

また、$ id変数の宣言はありません。 $ pnoを$ idに変更する必要がありますか?

0
$file = "path_to_file"; 
$fp = fopen($file, "r") ; 

header("Cache-Control: maxage=1"); 
header("Pragma: public"); 
header("Content-type: application/pdf"); 
header("Content-Disposition: inline; filename=".$myFileName.""); 
header("Content-Description: PHP Generated Data"); 
header("Content-Transfer-Encoding: binary"); 
header('Content-Length:' . filesize($file)); 
ob_clean(); 
flush(); 
while (!feof($fp)) { 
    $buff = fread($fp, 1024); 
    print $buff; 
} 
exit; 
+0

ダング:重複しない回答ボタン:https://stackoverflow.com/questions/5670785/chrome-has-failed-to-load-pdf-document-error-message-on-inline-pdfs – YvesLeBorg

+0

@YvesLeBorgサポートに感謝します – Aks

関連する問題