0

app_id ごとに特定のフォルダーにアップロードを保存したいと考えています。たとえば、app_id が 45 の申請者がファイルをアップロードする場合、45 という名前のフォルダーに保存する必要がありますが、出生証明書、大学の証明書、プロフィール写真、高校の証明書などのアップロードはすべてそのフォルダーに保存されます。他の app_id 例: 89 には独自のフォルダーが必要ですが、アップロードされたすべてのファイルは 1 つの親フォルダー (webroot/files/uploads/... など) に配置されます。

Miles Johnson の Uploader v3.6 を実装することができたので、そのプラグインまたはその他のソリューションに関するヘルプ

この課題に取り組むためのチュートリアルまたはリンク

ありがとうございました

4

1 に答える 1

2

あなたのアイデアの大きなセキュリティ上の失敗は、高校の証明書をパブリック (!) アクセス可能な /webroot/files/uploads フォルダーに保存することです。誰もがこれらの秘密のドキュメントをサーバーからダウンロードできる場合、プライバシー法がある多くの国では、かなり不快な状況に陥ることは間違いありません.

増分 ID を使用してフォルダー 1、2、3... にファイルを保存することも、パフォーマンスの点で悪い考えです。この記事の「ファイル システムのパフォーマンス」セクションをお読みください。

ユーザーに添付されたすべてのファイルを同じフォルダーに保存することは、ユーザーを削除するときにすべてのファイルを 1 回の操作で削除したい場合に適していますが、ファイル名を適切にサニタイズすることを忘れないでください。ただし、同じ (サブ) フォルダーに何千ものファイルを保存すると、再び問題が発生する可能性があります。

CakePHP 2.x のファイル ストレージ ソリューションについては、 FileStorage プラグインの readme.md を読むことをお勧めします。これは、ほぼすべての一般的な問題をカバーし、ファイル ストレージの強固な基盤を提供します。

于 2012-07-02T14:47:13.943 に答える