-2

私のウェブサイトには、ファイル (mp3 音声ファイル) のダウンロード機能があります。ユーザーがファイルをダウンロードしようとすると、一部のユーザーにとっては正常に機能します。他の人にとっては、ブラウザのダウンロードウィンドウを開いただけで、コンテンツをダウンロードせずに残っ​​ています. 30分経っても0%を示しています。誰でも解決策を提案できますか。

このサイトは PHP で開発されています。ユーザーはアメリカ出身です。これは、ファイアウォールが原因で発生しますか?

以下は、ファイルをダウンロードするためのコードです

header("Cache-Control: cache, must-revalidate");
header("Pragma: public");

header('Content-Type: application/force-download');
header('Content-Disposition: attachment; filename="' . $originalFileName . '"');
header('Content-Length: '.$fileSize);

//open the file
$fp = fopen($filePath, 'rb');
//seek to start of missing part
fseek($fp, $seek_start);

//start buffered download
while(!feof($fp))
{
    //reset time limit for big files
    set_time_limit(0);
    print(fread($fp, 1024*8));
    flush();
    ob_flush();
    session_write_close();
}

fclose($fp);
4

1 に答える 1

-1

ループsession_write_close()の外に書くことができます。while

セッションを何度も閉じていると、うまくいかないと思います。

于 2012-07-17T15:01:49.573 に答える