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

ここでも値を簡単に取得しています(画像と記事名)。1 つの画像をアップロードし、1 つの記事名が定義されている場合、取得ページに表示されます。ただし、1 つの画像がアップロードされていない場合、画像は表示されません。1 つの画像がアップロードされていない場合は 1 つのデフォルトの画像を表示し、画像がアップロードされている場合はアップロードされた画像を表示する必要があります。それで、誰かが親切にこれを解決する方法を教えてもらえますか?

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 に答える