私のプロジェクトでは、それぞれの製品ごとに、画像(ユーザーがアップロードしたもの)をフォルダーに保存します。
たとえば、製品を追加するために、フォームがユーザーに表示されます。ユーザーは製品の詳細を入力し、自分のコンピューターからいくつかの画像を選択します(5枚以上の写真)。送信されると、製品の詳細を。というテーブルに保存しますProducts
。アップロードされた画像の場合、次のようなフォルダを作成します。これhttp://mysite.com/uploads/123/
は123
、新しく追加された製品の製品IDです。そして、すべての画像がその中に保存されます。
質問:
後で表示するためにアップロードされた画像(またはそのファイル名)を追跡する方法は?つまり、新製品が追加されると、私のスクリプトは派手なuriテキストを作成します。例:
http://mysite.com/this-is-my-new-product
。したがって、ユーザーがこのリンクにアクセスすると、その製品に属するすべての画像が表示されます。このために、製品IDとファイル名を含む別のテーブルを保持する必要がありますか?そして、このテーブルにクエリを実行し、そこからファイル名をエコーしますか?または、フォルダをスキャンして(例http://mysite.com/uploads/123/*.jpg
:)、画像を1つずつエコーするのは良いことです。別のテーブルを使用せずに?画像のファイル名に派手なURIを使用しても大丈夫ですか?例:
/uploads/123/this-is-my-new-product1.jpg
、、、/uploads/123/this-is-my-new-product2.jpg
など/uploads/123/this-is-my-new-product3.jpg
?したがって、ユーザーには最初の画像のパスがとして表示されhttp://mysite.com/uploads/123/this-is-my-new-product1.jpg
ます。これは物理アドレスです。それはSEOに役立ちますか?それとも悪い習慣ですか?これが良ければ、すべての画像を一覧表示するには、scanddir()を使用する必要がありますか?
正しい道を案内してください。ありがとう