2014-01-16 8 views
5

symfonyファイルシステムの抽象レイヤーは何ですか? symfonyプロジェクトでdropboxと似たファイルシステムをセットアップする必要があります。 ファイル/メディアがどこに保存されるのかわからないので、なぜ抽象レイヤーが必要なのか、それを設定してファイルの場所を更新するのは気にしません。私は何をする必要があるかSymfony2最高のファイルシステムのアブストラクトレイヤは何ですか?

-adding folders/files 
-moveing folder/files to another lcoation 
-delating folder/files 
-download folder/files 
-upload folder/files 
-editing folder/files 
-editing name of folder/files 

あなたはそれのために何か良いバンドルを知っていますか? symfony 2のための良いsolutioins? と私の理由を教えてくださいこのソリューションは私のために良いことができますか?確かに

答えて

0

https://github.com/KnpLabs/KnpGaufretteBundle

最も綿密な実装では、それはDropboxのを含んでいます。

+0

動画や画像などのメディアファイルをアップロードするにはどうすればよいですか?それはtxtファイルのためだけに動作しませんか? '$ content = 'こんにちは私は新しいコンテンツです'; $ filesystem-> write( 'myFile'、$ content); ' – Vardius

+0

私は個人的に使っていません。私はそれがファイルシステム管理を抽象化していることを知っています。私は、どのファイルタイプがアップロードされても気にしないと思う。 – Flosculus

+0

gaufretteで画像をアップロードする方法を教えてくれたいいチュートリアル:http://braincrafted.com/symfony2-gaufrette-s3/ – Vardius

24

現在利用可能なオプションがあるように見える:

1)Gaufrette

あなたが最初にメモリに置く必要がある何かを転送するために。これは、巨大なファイルに対処する必要があるときに問題になります。 Gaufretteにはファイルシステム抽象化レイヤがありますが、ファイルシステム間でオブジェクトを移動することは不可能です。ディレクトリの削除など、いくつかの重要な機能も欠けています。

さまざまなアダプタを持つキーバリューストレージエミュレータによく似ています。紙の上に

2)Filicious

有望に見えるが、実際にはそのありません。ドキュメントはすべて間違っています。存在しない名前空間と見つからないクラスについて言及しています。フィリップス周辺のほとんどのものは現在実装されていないようです。現時点では、動作している唯一のアダプタはローカルアダプタです。進行状況はwebsiteで追跡できます。

3)Flysystem

は上述より良く見えます。ストリームをサポートしています。彼らはまた、異なるファイルシステム間でファイルを転送するために使用できるこのMountManagerも持っています。

要約すると、私の選択はFlysystemです。それがあなたの要求に合っているならば、自分でそれをよく確認してください。

+0

あなたはGaufretteのファイルのメモリの最初の処理に関連するポイントを挙げてください?これは、私が取り組んでいるプロジェクトでは私の心配ですが、どこでも何かを見つけることはできません。 –

+0

コードベースにあります。ローカルアダプタ上でfile_get_contents()を使用していることがわかります。ローカルアダプタはファイルのバイナリコンテンツを取得し、変数に格納します。このファイルが5GB程度であれば、変数によって5GBのメモリ消費量があります。 他のアダプターでも同じです。たとえば、FTPはstream_get_contents()を使用します。 メモリ内のファイル全体をフェッチするのは、小さなファイルでも機能しますが、大きなファイルの場合はブロックします。代わりにストリームを使用する必要があります。 –

+0

このページとコメントは、どちらも、Googleのランキングよりもはるかに高いはずです。個人的には、いくつかのプロジェクトでGaufretteとFlysystemの両方を使用しています.Gaufretteは正しい選択ですが、現実にはお尻の痛みです。 mountmanagerを搭載したFlysystemは、ファイルの処理方法を変える必要があります – Simon

関連する問題