人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPプログラムに関する質問です。


http://ns1.php.gr.jp/pipermail/php-users/2005-March/025318.html

↑に書いてあることと同じ相談です。

レスを参照して、サンプルソースを組んだ見たのですが、
どうもうまく動作しません。

---------------
$theFile = ”test.avi”;
header (”Cache-Control: must-revalidate, post-check=0, pre-check=0”);
header (”Content-Type: application/octet-stream”);
header (”Content-Length: ” . filesize($theFile));
header (”Content-Disposition: attachment; filename=movie.avi”);
readfile($theFile);
ob_end_flush();
exit;
---------------

$theFile = ”test.avi”が小さいファイルの場合は、正常に動作します。

ob_end_flush()の使い方が悪いのか、
readfile($theFile)の使い方が悪いのか、
そもそも見当違いなのか、
填りだしているので、解決方法をご存じの方が
いらっしゃいましたら、ご教授願います。

●質問者: PEPOTA
●カテゴリ:コンピュータ
✍キーワード:application cache EXIT PHP Stream
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● preneco
●40ポイント

http://jp2.php.net/manual/ja/function.ob-end-flush.php

PHP: ob_end_flush - Manual

他に要因がないとして、このソースだけ拝見させていただくと、ob_end_flushは出力のバッファリングをオフに指定する関数なので、readfileとob_end_flushを逆にしてみると、うまくいくかもしれないです。


うまくいかなかったら、ごめんなさい。

◎質問者からの返答

試してみましたが、うまくいきませんでした。

他の要因を疑ってみているのですが、

apacheのエラーログは以下の通りです。

Failed loading /usr/local/Zend/lib/ZendOptimizer.so: /usr/local/Zend/lib/ZendOptimizer.so: cannot open shared object file: No such file or directory

Allowed memory size of 134217728 bytes exhausted (tried to allocate 21 bytes)

やはり、メモリですね。

引き続き募集いたします。

-----------------------------------------

色々やってみて、自己解決しましたので閉じます。

readfileを使わなければうまくいきました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ