1

ユーザーがファイルをハードドライブにダウンロードしなくても、画像やビデオファイルをプレビューできるようにするファイルエクスプローラー/アップローダーをプログラミングしています。プライバシーとセキュリティ上の理由から、これらのアセット ファイルはドキュメント ルートの外に保存しています。GD ライブラリを利用してイメージ プレビューを生成することはできますが、再生用の SWF ファイルや FLV ファイルなどのフラッシュ プレーヤーをどのように提供するのかわかりません。PHP がreadfile()経由で一時ファイルを提供できる方法はありますか?

次のように機能しますhttp://example.com/flv_serve.php?file=sample.flv。次に、readfile は$_GET['file']アセット ディレクトリからファイルを取得し、そのファイルを FLV として Web サーバーにダンプします。もちろん、最初に flv_serve.php にアクセスする人がセッションによってファイルに対する権利を持っていることを確認します。

以前に同様の問題に対処する必要がある人はいますか?

4

1 に答える 1

0

ストリーミングについてはわかりませんが、ファイルを出力するだけの場合は、次のようにします。

// authentication
header("Content-type: application/x-shockwave-flash");
readfile($filePath);

これは通常のリソース (画像、テキストなど) をストリーミングすると思いますが、これが Flash で機能するかどうか、またプレーヤーに依存するかどうかはわかりません。

私はこのようなことをしましたが、ストリーミングはうまくいったと確信していますが、ストリーミング機能を得るために他の黒魔術が行われたかどうかはわかりません (かなり大規模なプロジェクトでした)。

結論:ファイルを Web サーバーに渡し、プレーヤーでストリーミングできる場合は、同様に機能します。

于 2012-12-19T22:29:31.740 に答える