このようなテーブル(またはユーザーテーブルの拡張)を作成する際の問題はどこにありますか?
+----+----------------+------------------+
| id | name | alt_tag |
+----+----------------+------------------+
| 1 | myimage.png | My image |
| 2 | otherimage.jpg | Some other image |
+----+----------------+------------------+
そして、次のようにアクセスします。
$query = "SELECT name, alt_tag FROM images WHERE id = ?";
$params = array( 1 );
$path = "http://mysite.com/path/to/image/";
$stmt = $db->prepare( $query );
$stmt->execute( $params );
$row = $stmt->fetchAll( PDO::FETCH_ASSOC );
echo '<img src="{$path.$row[name]}" alt="{$row[alt_tag]}" title="{$row[alt_tag]}" />';
これが最もクリーンで簡単な (最善の? ) 方法だと思います。
そして、2番目の質問に答えるには:
画像をどのように保護するかにもよりますが、通常はいいえ、実際の画像リンクを表示する方が良いでしょう。キャプチャやその他の画像myimage.php?id=1
でない限り、すべての画像をスタイルとしてユーザーに見せたくありません。
画像の URL として PHP を使用すると、ブラウザのキャッシュが台無しになるため、ユーザーはサイトにアクセスするたびにサイト全体をロードする必要があります。one time use only
ユーザーやサーバー トラフィックにとって好ましくない。