php图像上传显示默认图像时尚未上传图像

时间:2013-09-11 07:17:11

标签: php mysql image image-upload

在php我正在做一个简单的php图片上传并在另一个页面中显示该图像。为此,我的代码是这样的 对于数据库,我有这样的查询

CREATE TABLE IF NOT EXISTS 'article` (
   `article_id` int(10) unsigned NOT NULL auto_increment,
   `artile_name` varchar(255) NOT NULL,    
   `article_image` varchar(255) NOT NULL,
    PRIMARY KEY (`article_id`))
    ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=utf8';

现在我的表格就像这样

<form id="formID" method="post" action="'.$_SERVER['REQUEST_URI'].'" enctype="multipart/form-data">
  <div>
     <label for="article_name">Article Name</label>
     <input class="text-input" type="text"  name="article_name" id="article_name" value="'.$value_test['article_name'].'" />
     <br/>
  </div>
  <div>
     <label for="article_image">Upload Article Image</label>
     <input type="file" name="article_image" id="article_image" value="'.$value_test['article_image'].'" />
  </div>
  <div>
     <input type="submit" name="submit" value="Submit" class="button" />
  </div>
</form>

我插入数据库值的php代码就像这样

mysql_connect(_DB_SERVER_, _DB_USER_,_DB_PASSWD_) or die( mysql_error() );
mysql_select_db(_DB_NAME_) or die( mysql_error() );
if ( isset( $_POST['submit'] ) ) {
  "INSERT INTO `article`(`article_id`, `article_name`, `article_image`) VALUES ("","'.$article_name.'","'.$article_image.'")";
  if ( move_uploaded_file( $_FILES['file']['tmp_name'], $tmpName.$image_name ) ) {
     echo "Data has been inserted into database";
  } else {
     echo "error in inserting data";
  }

这里的值很容易插入到数据库中,并且图像也可以轻松上传。

我从表格中获取数据的PHP代码(在另一页面中)

<?php
   include '../config/config.inc.php';
   mysql_connect(_DB_SERVER_,_DB_USER_,_DB_PASSWD_) or die(mysql_error());
   mysql_select_db(_DB_NAME_) or die(mysql_error());

   $result = mysql_query("SELECT * FROM article WHERE `article_name`='".$_GET['loc']."'");  
   while( $row = mysql_fetch_array( $result ) ) {
      echo '<div>';
      echo '<img class="article-image" src="article/'.$row['article_image'].'" width="100px" height="100px" >';
      echo '</div>';
      $article_name = $row['artcle_name'].'<br />';

这里我也很容易获得价值(图片和文章名称)。   当我上传一个图像并且定义了一个文章名称时,它将在获取页面中显示。但是当一个图像尚未上传时,它没有显示任何图像。我希望如果一个图像没有上传,那么它应该显示一个默认图像,如果图像已经上传,那么它应该显示上传的图像。那么有人可以告诉我如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您可以使用file_exists(),例如

if( !empty($row['article_image']) AND file_exists(YOUR_PATH . $row['article_image']) ) {
   //show your image from db
}
else {
   //show your default image
}