0

何時間も問題を解決しようとしましたが、Google やいくつかのボードを検索しましたが、解決策が見つかりませんでした。

私の問題: ダウンロードを生成する PHP スクリプトを作成しました。以下のコード:

$file = "file.pdf";
$download_folder = "../contents/"; //RELATIV
$type= mime_content_type($download_folder.$file);
    header("Content-Type: $type");
    header("Content-Disposition: attachment; filename=\"$file\"");

    readfile($download_folder.$file);

ローカルホスト サーバー (xampp) で試してみると、動作し、ファイルのダウンロードが開始されます。スクリプトをホスティング サーバーにアップロードすると (独自のサーバーではありません)、空白のページしか表示されません。

何か案は?ありがとう!

4

4 に答える 4

0

許可を確認します。ファイルに対する読み取り権限がある場合。chmod コマンドを使用して権限を設定できます。

于 2011-02-16T18:48:34.810 に答える
0

エラー報告がオンになっていて、開発中にすべてが表示されていることを確認してください。

ini_set('display_errors', 1);
error_reporting(E_ALL);

それは問題が何であるかを教えてくれるはずです。

私の推測では、パスに問題があると思います。などの絶対パスを使用してみてください/var/www/vhosts/yoursite.com/httpdocs/contents/file.pdf

それが失敗した場合は、おそらく権限の問題です。

于 2011-02-16T18:49:05.860 に答える
0

追加してみてください

if (!file_exists($download_folder . $file)) {
   die("can't find the file")
}
if (!is_readable($download_folder . $file)) {
   die("can't read the file")
}

header()電話をかける前に。ほとんどの場合、このスクリプトが期待する場所以外の場所にファイルをアップロードしたか、Web サーバーで読み取れません。

于 2011-02-16T18:49:26.967 に答える
0

間違いを見つけました。ウェブサーバーでは関数 mime_content_type ではありませんでした。助けてくれてありがとう

于 2011-02-16T19:06:14.570 に答える