2012-11-24 205 views
0

我有html代碼,如: -圖片上傳文件到數據庫

<form id="form" name="form" action="banner_ad_post.php" method="post" enctype="multipart/form-data"> 
       <p> 
        <label for="banner_name"><font color="#FF0000"> * </font>Banner Name: </label> 
        <input type="text" name="banner_name" id="banner_name" value="" maxlength="100" required="required"/> 
       </p> 
       <p> 
        <label for="Banner_website_url"><font color="#FF0000"> * </font>Banner website Url: </label> 
        <input type="url" name="banner_site_url" id="banner_site_url" value="" maxlength="100" required="required"/> 
       </p> 

       <p> 
        <label for="banner_image_url">Banner Image Url: </label> 
        <input type="file" name="file" id="file" value="" accept="image" placeholder="Browse from hard disk" onchange="img_path()"/> &nbsp; 
        <font color="#FF0000"> OR</font> &nbsp; 
        <input type="url" name="banner_image_url" id="banner_image_url" value="" maxlength="100" placeholder="Enter the url from website." onchange="validate()"/> &nbsp; 


       </p> 
       <p> 
       <label for="submit"> </label> 
        <input type="submit" id="submit" name="submit" value="Submit" onclick="preview()" /> 
       </p> 
       </form> 

和PHP腳本,如: -

<?php 
    if(isset($_POST['banner_name']) && isset($_POST['banner_site_url']) && isset($_POST['banner_image_url']) && isset($_FILES['file']['name'])) 
    { 
     $banner_name=$_POST['banner_name']; 
     $banner_name=strip_tags($banner_name); 
     $banner_site_url=$_POST['banner_site_url']; 
     $banner_site_url=strip_tags($banner_site_url); 
     $banner_image_url=$_POST['banner_image_url']; 
     $banner_image_url=strip_tags($banner_image_url); 
     $name=$_FILES['file']['name']; 

     $size=$_FILES['file']['size']; 
     $type=$_FILES['file']['type']; 
     $tmp_name=$_FILES['file']['tmp_name']; 
     $error=$_FILES['file']['error']; 
     $maxsize = 512000; 
     $location='uploads/'; 
     if(!empty($banner_image_url)) 
      { 
      $file_location=$banner_image_url; 
      ?> 
      <div id="img"> 
      <img src="<?php echo $file_location?>" align="left" width="200px" height="200px"> 
      </div> 
      <?php 
      } elseif (!empty($name)) 
      { 
      $file_location=$location.$name; 
      ?> 
        <div id="img"> 
        <img src="http://localhost/leadstool/<?php echo $file_location?>" align="left" width="200px" height="200px"> 
        </div> 

        <?php 
      } 

      if(!empty($banner_name) && !empty($banner_site_url)) 
      { 
      $query="INSERT INTO `banner_ad` VALUES('','$id','$banner_name','$file_location','$banner_site_url','0',now())"; 
      if($query_run=mysql_query($query)) 
      { 
       if($size <= $maxsize) 
       {       
        if(move_uploaded_file($tmp_name,$location.$name)) 
        { 
        echo'<font color="green">File uploaded & has been sent for approval.</font>'; 
        } 
        else 
        { 
        echo'<font color="red">File can not be uploaded.</font>'; 

        } 
       } else { 
       echo'<font color="green">Your information has been uploaded and has been sent for approval.</font>'; 
       } 
      } 
      else 
      { 
        echo'<font color="red"> The request can not be performed.</font>'; 
      } 
     } 
     else 
     { 
      echo'<font color="red">These fields are mandatory.</font>'; 
     } 
    } 

    ?> 

在這裏,問題是由於某些原因move_uploaded_file()以方法無法上傳數據庫中的文件。但它仍然給出像「文件上傳&已被髮送審批」的輸出。現在,我不明白我在這裏錯過了什麼?

任何幫助將不勝感激... 預先感謝您!

+0

什麼樣的錯誤你,你是什麼表模式你怎麼看起來你的查詢執行前? –

+1

感謝Thanx ... –

回答

1

對不起!這個問題沒有編程錯誤。只是一個簡單的邏輯錯誤。

我重新發布代碼...我編輯糾正這個問題。

if($size <= $maxsize) 
       {       
        if(move_uploaded_file($tmp_name,$location.$name)) 
        { 
        echo'<font color="green">File uploaded & has been sent for approval.</font>'; 
        } 
        else 
        { 
        echo'<font color="red">File can not be uploaded.</font>'; 
        ?> 
        <div id="img"> 
        <img src="http://localhost/leadstool/<?php echo $file_location?>" align="left" width="200px" height="200px"> 
        </div> 

        <?php 

        } 
       } else { 
       echo'<font color="red">File size must be less than 500KB.</font>'; 
       } 
0

你也可以這樣做。通過形式

圖像數據庫:

表單頁面:

<form enctype="multipart/form-data" action="insert_image.php" method="post" name="changer"> 
<input name="image" accept="image/jpeg" type="file"> 
<input value="Submit" type="submit"> 
</form> 

插入到數據庫頁:它非常好

<?php 

    include 'conf.php'; 

    if ($_FILES["image"]["error"] > 0) 
    { 
    echo "<font size = '5'><font color=\"#e31919\">Error: NO CHOSEN FILE <br />"; 
    echo"<p><font size = '5'><font color=\"#e31919\">INSERT TO DATABASE FAILED"; 
    } 
    else 
    { 
    move_uploaded_file($_FILES["image"]["tmp_name"],"images/" . $_FILES["image"]["name"]); 
    echo"<font size = '5'><font color=\"#0CF44A\">SAVED<br>"; 

    $file="images/".$_FILES["image"]["name"]; 
    $sql="INSERT INTO database_table (table_column_1, table_column_2) VALUES ('','$file')"; 

    if (!mysql_query($sql)) 
    { 
     die('Error: ' . mysql_error()); 
    } 
    echo "<font size = '5'><font color=\"#0CF44A\">SAVED TO DATABASE"; 

    } 

    mysql_close(); 

?>