1

在 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 />';

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

4

1 回答 1

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
}
于 2013-09-11T08:06:13.803 回答