2017-08-15 75 views
0

在我的項目我有一個畫布圖像,並已經發送到服務器,test.php的,:保存畫布圖像到MySQL數據庫爲BLOB數據類型

define('UPLOAD_DIR', '../uploads/'); 
$img = $_POST['canImg']; 
$img = str_replace('data:image/png;base64,', '', $img); 
$img = str_replace(' ', '+', $img); 
$data = base64_decode($img); 
$file = UPLOAD_DIR . uniqid() . '.png'; 
$success = file_put_contents($file, $data); 
if($success) 
echo "success"; 
else 
echo "failed"; 

我的問題是,如何保存文件在blob的mysql字段?

+0

採取在MySQL FILE_CONTENT 2場(選擇數據類型BLOB)斑點,file_format VARCHAR, 保存數據,並在回顧數據時,在blob feilds中寫入file_put_contents(「xyz」.file_format,file_content); – LogicBlower

+0

在數據庫中存儲圖像是一個好主意的情況很少。圖像是文件,應該保存爲文件系統中的文件。 –

回答

0

建立MySQL連接,並根據需要在實地img_data等領域創造的形象表,則這樣的事:

if (!mysqli_query($con, 
    "insert into images (img_id, img_data) values (". 
    (int)$img_id.",'".mysqli_real_escape_string($con, $img_data)."')")) 
{ 
    // handle error 
} 
+0

您應該推薦使用[準備語句](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)。即使是'mysqli_real_escape_string()'在某些情況下也存在一些安全問題。 –