Hou*_*sam 1 html php mysql image http-headers
我正在尝试使用PHP和MySql数据库显示多个图像,即使使用while循环我没有得到所有图像,我只得到一个,我的意思是表中的第一个.有什么问题 ?
我使用的是表ID_IMAGE (int, pk, auto increment)和myImage (blob)
$query = mysql_query("SELECT myImage FROM image");
while($data=mysql_fetch_array($query)) {
header('Content-type: image/jpg');
echo $data['myImage'];
}
Run Code Online (Sandbox Code Playgroud)
CSᵠ*_*CSᵠ 12
解决此问题的可能方法是使用单独的脚本来动态输出图像的内容,例如.:
image.php
header('Content-type: image/jpg');
// DataBase query and processing here...
echo $data['myImage'];
Run Code Online (Sandbox Code Playgroud)
并在需要显示存储在数据库中的图像时调用它,例如.在你的循环内:
echo '<img src="image.php?id=' . $data['id'] . '">';
Run Code Online (Sandbox Code Playgroud)
但是在数据库中存储图像会对您的服务器产生影响,除非它们非常小或者您有充分的理由这样做,否则您应该只将它们的物理位置存储在磁盘上.
如果您希望隐藏用户的图像位置或控制访问权限,也可以使用此方法,但有更好,更快的替代方案.