2016-01-23 93 views
0
if(isset($_POST['submit']) and isset($_GET['slider_id'])) 
    { 
     $date=date('Y-m-j'); 
     $imgName=$_FILES['image']['name']; 
     $cont=file_get_contents($imgName); 
     $cont=addslashes($cont); 

     if($imgName=="") 
     { 
     //$imgData =addslashes(file_get_contents($_FILES['image']['name'])); 
     $res=mysqli_query($connect,'UPDATE `slider_images` SET `image`=\''.$cont.'\' WHERE id=\''.$_GET['slider_id'].'\''); 
      if($res) 
      { 
       echo "Updated"; 
      } 
      else 
      { 
       echo "Not Updated"; 
      } 
     } 
    } 

不理解這背後真正的問題,我已經審閱許多解決方案的,但在that.All解決方案的沒有成功,我發現他們告訴存儲圖像的文件夾,並存儲在文件更新在MySQL LONGBLOB像場數據庫表中的名稱。在數據庫中存儲圖像的原因是,僅存儲4個圖像,爲什麼不將它們存儲在數據庫中。請指導我解決這個問題。以下是我正在談論的問題。 Warning Message 提前致謝。如何使用PHP

+1

做到這一點,'$ CONT =的file_get_contents($ _ FILES [ '形象'] [ 'tmp_name的值']);' –

+0

@Rajdeep保羅:謝謝的先生,它的工作... –

+0

我很高興有幫助。我在下面的答案中也包含了一個解釋。如果問題解決了,請將答案標記爲*接受*。 –

回答

0
  • $_FILES['file']['name']是從用戶計算機上傳的文件的原始名稱。
  • $_FILES['file']['tmp_name']將包含服務器上文件的臨時文件名。在處理文件之前,這只是一個臨時佔位符。

所以,你應該像這樣訪問文件:

$cont=file_get_contents($_FILES['image']['tmp_name']); 


旁註:與其if($res){ ... }使用mysqli_affected_rows()得到受此 UPDATE查詢的行數,像這樣:

mysqli_query($connect,"UPDATE `slider_images` SET `image`='".$cont."' WHERE id='".$_GET['slider_id']."'"); 
if(mysqli_affected_rows($connect)){ 
    echo "Updated"; 
}else{ 
    echo "Not Updated"; 
} 

以下是參考: