已经问过这种类型的问题,但没有一个非常有用。在这里,我正在使用php从数据库中获取图像并显示它。我希望图像根据屏幕尺寸进行调整,并且应具有最大宽度限制。我应该如何在php中做到这一点?我尽了最大努力,但是没有成功。
<?php
$searchword=$_POST['searchword'];
$con=mysqli_connect('localhost','root','','bookspyramid');
?>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<?php
$sql="SELECT imgno FROM bookinfo where bookname='$searchword'";
if($result=mysqli_query($con,$sql))
{
if(mysqli_num_rows($result)>0)
{
while($row=mysqli_fetch_array($result))
{
$imgname=$row['imgno'];
echo "<img src=imgfile/".$imgname." height= width= >";
}
}
}
else
echo "Sorry! No results found!";
?>
</body>
</html>
图像正在显示并且具有固定的尺寸,但是我希望它的尺寸根据屏幕尺寸而改变。
答案 0 :(得分:1)
为此,请通过CSS使用相对大小(例如80%等)。
您还可以调整其他属性,例如alignment, position, max-width, max-height
等。它将根据可用尺寸调整图像。
<?php
$searchword=$_POST['searchword'];
$con=mysqli_connect('localhost','root','','bookspyramid');
?>
<html>
<head>
<style>
.myImg {
max-width:100%;
width: 80%;
height: auto;
margin: auto auto; /* align center */
}
</style>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<?php
$sql="SELECT imgno FROM bookinfo where bookname='$searchword'";
if($result=mysqli_query($con,$sql))
{
if(mysqli_num_rows($result)>0)
{
while($row=mysqli_fetch_array($result))
{
$imgname=$row['imgno'];
echo "<img class='myImg' src='imgfile/".$imgname."'>"; //add '' inside "" around imgfile to avoid img name errors
}
}
}
else
echo "Sorry! No results found!";
?>
</body>
</html>
您也可以为此使用内联CSS
echo "<img style='width:80%; height: auto; max-width: 100%; margin: auto;'
src='imgfile/".$imgname."'>";