ユーザーが写真を送信してサイトの開いた部分に表示できるようにするWebサイトを構築するための最良のオプションを考えていましたが、それらの写真を受信するためにmysqlでデータベースを構築する必要があるかどうかわかりません。画面にプッシュされるテーブルとそれが大きくなります。他に選択肢はありますか?これらの写真をフォルダに入れて、通常のhtmlとcssをプログラミングする場合と同じように、それらを取得するシステムを作成するのと同じです。これらの写真をテーブル内のブロブとして取得することは意見かもしれませんが、知っておくと面白いかもしれない他の方法があるかもしれません。みんなありがとう!
2 に答える
ユーザーが写真をアップロードするときにユーザーの写真を管理する最善の方法は、次の2つの方法をマージすることです。プロジェクトのルートフォルダーに、アップロードされた写真が配置されるフォルダーを作成し、ユーザーの写真の名前を変更することも検討する必要があります。 2人の異なるユーザーが同じ名前の写真をアップロードしても、競合が発生しないようにします。次に、彼の写真の名前を保持するフィールドをusersテーブルに追加する必要があります。ありがとう。
まず、写真をデータベースに保存しないでください。データベースには、画像、保存場所、サイズなどに関する情報のみを保持する必要があります。
最初の解決策:
アップロードした写真をサーバー上のフォルダーに保存し、それらの写真を表示する場合は、そのフォルダーのコンテンツを読んで、アップロードした写真に関する情報を取得し、Webに表示することができます。PHPを使用すると、フォルダのコンテンツを簡単に一覧表示できます。このようにして、画像の位置情報を取得し、それらをHTMLに簡単に追加できます。必要に応じて、ユーザーごとに1つのフォルダーを作成できます。次に、たとえばセッションからユーザーをフェッチできます。ユーザーの画像が/ uploads / images /{user}/に保存されていることがわかります。
2番目の解決策:
さらに良い方法は、サーバーフォルダーに写真をアップロードすることですが、写真をアップロードするときに、写真に関する情報をデータベースに保存できます。したがって、写真を表示したい場合は、データベーステーブルを調べて、アップロードされた写真に関する情報を取得します。photo_path、photo_size、photo_dimensions、photo_uploader、photo_categoryなど、写真について必要なすべてのものをそのテーブルに保存します。
このようにして、これらの情報を簡単にキャッシュし、必要に応じてサイトを高速化できます。
最初の解決策は、すべてのページ要求ですべてのフォルダー/画像をリストする必要があり、これは遅くなる可能性があるため、トラフィックの多いサイトには適していません。
とにかく、画像はサーバーフォルダーに配置する必要があります。また、PHP関数を使用してそのフォルダーを読み取り、フォルダー内の画像の数、サイズなどの情報を取得します。PHPを使用してすべてを行うことができます。または、画像をフォルダにアップロードする前に、すべての画像を調べて、その情報をデータベースに保存することをお勧めします。最初のソリューションを使用する場合は、データベースを使用する必要はありませんが、サイトが成長し、パフォーマンスを向上させたい場合は、これが問題になる可能性があります。