1

コメント システムを含む PHP でイメージ ギャラリー スクリプトを作成しています。スクリプトの基本的な機能は、フォルダーの名前を読み取り、フォルダーの名前をタイトルとしてギャラリーに表示し、その画像を表示することです。

問題は、mysql で作成されたコメント システムが次のようなコメントを保存することです。

ID | フォルダー | 画像

これはうまく機能しますが、フォルダーの名前を変更すると、Mysql テーブルに間違ったフォルダー名が設定されているため、スクリプトが機能しません。また、画像の名前を保存すると、同じ名前の別のフォルダーに 2 つの画像が存在する可能性があります。

名前を使わずにフォルダを特定することはできますか?

//ノート:

ご協力ありがとうございます。解決策を見つけたと思います。ここで、画像の md5 ハッシュを保存し、フォルダー名の代わりにデータベースに保存します。

4

4 に答える 4

1

フォルダーIDとその名前を保存する別のテーブルを使用する方がよいと思います folder_name そのようなもの。フォルダ名に依存することはお勧めできません

于 2011-04-04T14:24:06.163 に答える
1

いいえ。ファイルシステムをデータベースと同期する必要があります。フォルダの名前を変更/削除/編集するたびに、mysql データベースのエントリを更新します。

于 2011-04-04T14:25:15.007 に答える
1

1 つの可能性は、画像コンテンツのチェックサムを一意の識別子として使用することです。内容が変わらない限り大丈夫です。フォルダーの名前の変更を識別する限り、それに含まれるファイルの関数であるハッシュを使用しない限り、これを検出する狡猾な方法は考えられません。

正直に言うと、これらのアイテムをデータベースに保存/識別する方法を再考するのは良いことだと思います。

于 2011-04-04T14:26:33.563 に答える
0

あなたはいつでもこのようにすることができます:

3 つのテーブルを作成します。

  • ギャラリー -> 列 (id,title)
  • ファイル -> 列 (id、ギャラリー、名前、ファイル名)
  • コメント -> 列 (id、file_id、コメント)

次に、「ギャラリー」テーブルに名前を付けてすべてのギャラリーを作成します。ギャラリーを作成したら、表示したいすべての画像をフォルダーに入れます (たとえば、uploads/. 次に、ファイルの名前を実際の名前とともにデータベースに挿入します (ランダムなファイル名も生成する可能性があります)。たとえば、"Dolpins at Beach" は、アップロード フォルダーにある dolphins1234142.png を指すことができます。すべてのコメントは、ファイル テーブルとの関係を設定するコメント テーブルに格納されます。これにより、特定の画像にコメントを付けることができます。

ギャラリーシステムに関する私の見解ですが、それが理にかなっていることを願っています.

于 2011-04-04T14:28:25.423 に答える