如果变量不存在,PHP显示图像?

时间:2014-08-06 02:59:43

标签: php

以下是我一直在处理的个人图片上传网站的一些代码。此代码的作用是根据您放在地址栏中的内容显示图像。现在问题在于它基本上只显示任何东西,即使它不存在。我想知道的是,如果它试图链接的图像不存在,无论如何都要显示设置图像。

  <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>

我希望我能够很好地解释这一点,提前谢谢!

1 个答案:

答案 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()。如果是这样,下次你应该更清楚。