以下是我一直在处理的个人图片上传网站的一些代码。此代码的作用是根据您放在地址栏中的内容显示图像。现在问题在于它基本上只显示任何东西,即使它不存在。我想知道的是,如果它试图链接的图像不存在,无论如何都要显示设置图像。
<div class="container">
<div class="col-sm-12">
<div class="panel panel-default" id="welcome">
<div class="panel-heading test">
<?php
$url="".$_SERVER['REQUEST_URI'];
echo "<h2><b>$url</b>.png</h2>\n";
?>
</div>
<div class="panel-body">
<?php
$img="http://sls.pw/i".$_SERVER['REQUEST_URI'];
echo "<center><img src=\"$img.png\" class=\"img-responsive\"></center>\n";
?>
</div>
</div>
</div>
</div>
我希望我能够很好地解释这一点,提前谢谢!
答案 0 :(得分:0)
你的意思是这样的吗?
<?php
//Get the Base Url
$baseUrl = $_SERVER['REQUEST_URI'];
//Get the Image Url
$imageUrl = 'http://sls.pw/i' . $baseUrl;
//Get the Headers
$headers = get_headers($imageurl);
//Check if image is availible
//$headers[0] something like this: HTTP/1.0 200 OK
$isAvailible = isset ($headers[0]) && strpos($headers[0], '200') !== false;
?>
<?php if ($isAvailible): ?>
<div class="container">
<div class="col-sm-12">
<div class="panel panel-default" id="welcome">
<div class="panel-heading test">
<h2><b><?php echo $baseUrl; ?></b>.png</h2>
</div>
<div class="panel-body" style="text-align: center;">
<img src="<?php echo $imageUrl; ?>" class="img-responsive"/>
</div>
</div>
</div>
</div>
<?php else: ?>
<p>Image not here...</p>
<?php endif; ?>
注意:这不是保存。想想XSS等等!
玩得开心;)
我们是在谈论同一页而不是图片主持人吗?
然后你应该使用file_exists()
。如果是这样,下次你应该更清楚。