2017-08-05 46 views
1

我已經調整,我使用下面的代碼從用戶接收到的圖像:如何存儲PHP imagejpg()結果在mysql數據庫

$imagedata = getimagesize($_FILES['uploadedimage']['tmp_name']); 
      $newwidth = $imagedata['0']/3; 
      $newheight = $imagedata['1']/3; 
      $thumb = imagecreatetruecolor($newwidth, $newheight); 
      $source = imagecreatefromjpeg($_FILES['uploadedimage']['tmp_name']); 
      // Resize 
      imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $imagedata['0'], $imagedata['1']); 

      // Output and free memory 
      ob_start(); 
      imagejpeg($thumb); 
      echo '<img src="data:image/jpeg;base64,' . base64_encode(ob_get_clean()) . '">'; 
      imagedestroy($thumb); 

我現在用的這條線

echo '<img src="data:image/jpeg;base64,' . base64_encode(ob_get_clean()) . '">'; 

來顯示圖像,但是我想將它存儲在我的數據庫中。 我無法弄清楚。我曾在很多論壇上搜索過,但都沒有找到任何答案。 請幫忙。

+1

您不在這裏包含db和insert查詢。它應該如何插入? –

+0

@AnandPandey是的代碼在那裏我沒有在這裏添加它,我知道如何進行查詢並將其插入到數據庫中。這裏的關鍵是如何將它存儲到數據庫中,因爲我以什麼值發送值。 「INSERT INTO db(image)VALUES(????)」; –

回答

0

我已經加入這行代碼,其中的回聲被寫入固定的:

$image = addslashes(ob_get_contents()); 

現在$圖像可以正常使用查詢發送到數據庫。

1

你不應該存儲圖像,你可以做的是將圖像存儲在一個已知的路徑,然後存儲唯一的ID或名稱在數據庫中,所以然後檢索你在數據庫中尋找ID和構造路徑再次。

Is it a good practice to save a base64 string on the Database?

+1

我不想將它作爲base64存儲到數據庫中,這是我在網上發現的通過研究將其轉換爲可查看格式的唯一方法。我想知道如何將imagejpeg()的結果作爲blob數據類型存儲在MySQL DB中。 –

+0

沒關係,看看這個問題也許它有幫助,https://stackoverflow.com/questions/7052655/insert-blobs-in-mysql-databases-with-php –

+0

謝謝,但這不是我的問題。感謝您的幫助。如果有任何意思,我通過我的問題不清楚,請讓我知道。我會盡力更好地描述它。 –

0

除非您確實需要,否則不會存儲斑點。

請問你每天備份,而...

  • 一個100MB的數據庫和文件的50GB(差異,使用rsync)
  • 或50GB的SQL數據庫?
相關問題