2015-12-10 51 views
0

我試圖使用表單將圖像上傳到數據庫。未上傳到數據庫的php圖像

問題是,當我嘗試上傳圖像時,它不存儲在數據庫中。也沒有錯誤。

在此先感謝。

<html> 
<head> 
    <meta charset="UTF-8" /> 
    <title>Images</title> 
</head> 
<body> 
    <form action="index.php" method="POST" enctype="multipart/form-data"> 
     File: 
     <input type="file" name="image" /> 
     <input type="submit" value="Upload" /> 
    </form> 
    <?php 
     require "connect.inc.php"; 
     @$file = $_FILES['image']['tmp_name']; 

     if (!isset($file)) { 
      echo "Please select an image."; 
     } 
     else { 
      $image = file_get_contents($_FILES['image']['tmp_name']); 
      $imageName = $_FILES['image']['tmp_name']; 
      $imageSize = getimagesize($_FILES['image']['tmp_name']); 

      if ($imageSize == FALSE) { 
       echo "This is not an image."; 
      } 
      else { 
       $sql = "INSERT INTO `afbeelding` VALUES ('', '$imageName', '$image')"; 
       if (!mysql_query("INSERT INTO `afbeelding` VALUES ('', '$imageName', '$image')")) { 
        echo "Problem uploading image."; 
       } 
       else { 
        echo "Succes!"; 
       } 
      } 
     } 
    ?> 
</body> 
</html> 
+1

這應該對你有所幫助。 http://stackoverflow.com/questions/17717506/how-to-upload-images-into-mysql-database-using-php-code – momouu

+0

你想上傳,圖像或只是爲了將名稱保存到數據庫? –

+0

我只是想通了。來自monaca19的鏈接顯示addslashes,並以某種方式增加了工作。 – IvoryNL

回答

0

你已經忘了執行查詢:

<html> 
<head> 
    <meta charset="UTF-8" /> 
    <title>Images</title> 
</head> 
<body> 
    <form action="index.php" method="POST" enctype="multipart/form-data"> 
     File: 
     <input type="file" name="image" /> 
     <input type="submit" value="Upload" /> 
    </form> 
    <?php 
     require "connect.inc.php"; 
     @$file = $_FILES['image']['name']; 

     if (!isset($file)) { 
      echo "Please select an image."; 
     } 
     else { 
      $image = file_get_contents($_FILES['image']['name']); 
      $imageName = $_FILES['image']['tmp_name']; 
      $img = $_FILES['image']['name']; 
      $imageSize = getimagesize($_FILES['image']['name']); 
//add move uploaded file function here 

      if ($imageSize == FALSE) { 
       echo "This is not an image."; 
      } 
      else { 
       $sql = mysql_query("INSERT INTO `afbeelding` VALUES ('', '$img', '$image')"); // did changes here 
       if($sql){ 
        echo "Succes!"; 
       } 
       else { 
        echo "Problem uploading image."; 
       } 
      } 
     } 
    ?> 
</body> 
</html> 
0

我沒有測試過,但將努力

<?php 
require "connect.inc.php"; 
if(isset($_POST['submit'])) 
{ 
    @$file = $_FILES['image']['tmp_name']; 

    if (!isset($file)) { 
     echo "Please select an image."; 
    } 
    else { 
     $image = file_get_contents($_FILES['image']['tmp_name']); 
     $imageName = $_FILES['image']['tmp_name']; 
     $imageSize = getimagesize($_FILES['image']['tmp_name']); 

     if ($imageSize == FALSE) { 
      echo "This is not an image."; 
     } 
     else { 
      $sql = "INSERT INTO `afbeelding` VALUES ('', '$imageName', '$image')"; 
      if (!mysql_query("INSERT INTO `afbeelding` VALUES ('', '$imageName', '$image')")) { 
       echo "Problem uploading image."; 
      } 
      else { 
       echo "Succes!"; 
      } 
     } 
    } 
} 
    ?> 
<html> 
<head> 
    <meta charset="UTF-8" /> 
    <title>Images</title> 
</head> 
<body> 
    <form action="index.php" method="POST" enctype="multipart/form-data"> 
     File: 
     <input type="file" name="image" /> 
     <input type="submit" name="submit" value="Upload" /> 
    </form> 

</body> 
</html> 
+0

代碼不是要在服務器上上傳文件,只是要將圖像名稱插入到數據庫中 –

0

不具有addslashes的問題()。在:$ image = addslashes(file_get_contents($ _ FILES ['image'] ['tmp_name']));

如果我再次移除它們,它將無法正常工作,但是如果我將它們放回去,就會成功。