创建这样的表(或用户表的扩展)的问题在哪里?
+----+----------------+------------------+
| 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]}" />';
我相信这是最干净、最简单(最好?)的方法。
并回答第二个问题:
取决于您要如何保护图像,但通常情况下,不,最好显示真实的图像链接。您不希望用户将所有图像视为myimage.php?id=1
样式,除非它们是验证码或其他one time use only
图像。
使用 PHP 作为图像 url 会弄乱一些浏览器缓存,因此这意味着用户每次访问时都必须加载您的整个站点。
对用户或您的服务器流量来说并不愉快。