0

フィールド付きのフォームがあります

<input type="file" name="file" size="100" value="">

このフィールドが空の場合は、画像のアップロードをスキップして(画像がないため)、変更された情報のみを更新します。画像が存在する場合は、それをアップロードしてmysqlデータベースを更新します。

このコードは、新しい画像がアップロードされている場合にのみ機能していました。追加しましたif(!emptywrong file type、フォームフィールドを空白のままにするとコードがポップしますか?

// connect to datebase
require "master.db.php";

if(!empty($_FILES['file']))
    {
      if ( file types )
          {
           // upload the file
          }
       else
          {
           // wrong file type
                 die;
           }
     }

else {
    // update other data in mysql database
    $sql="UPDATE `characters` SET test='test' WHERE ID='$id'";
    $result=mysql_query($sql);

    // if successfully updated mysql.
       if($result){
          echo "<b>Update successful</b> <br />";
          echo "<a href='../test.html'>View result</a>";
          touch('../master.html');
          clearstatcache();
          }

        else {
             echo "Whoops: " . mysql_error(); ;
              }
    mysql_close();
    }
4

2 に答える 2

0

これを使って

if(!$_FILES['file']){ 
     echo "file is empty" 
}

それ以外の

if(empty($_POST['file']))

ついに

    if(!empty($_FILES['file'])){ 
     //file has something
    }
   else{
     //either file is empty or filed is not set
   }
于 2012-06-09T03:25:32.033 に答える
0
  <?php
  if(!empty($_FILES))
  {
    $name = $_FILES["fileToUpload"]["name"];
    $type = $_FILES["fileToUpload"]["type"];
    $size = $_FILES["fileToUpload"]["size"];

    $match = mysql_query("SELECT * FROM `tb_name` WHERE file_name='$name'");
    if(!empty($match))
     {
       while($res=mysql_fetch_array($match))
       {
         if($type == "filetype")
           {
             //upload
           }
         else
            //error
       }
     }
    else
      //file already exists
  }
  ?>
于 2012-06-09T09:15:04.547 に答える