使用 PHP 將映像插入 MySQL 資料庫可能很棘手。常見的錯誤是使用 file_get_contents() 直接嵌入二進位資料。這樣做會導致儲存代表函數呼叫的字串,而不是實際的圖像資料。
要正確插入影像數據,您需要連接以下結果file_get_contents()。這可以透過跳出字串並明確附加價值來完成:
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . file_get_contents($tmp_image) . "')";
二進位資料可能包含可能使 SQL 查詢無效的特殊字元。為了防止這種情況,請使用 mysql_escape_string() 轉義資料:
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . mysql_escape_string(file_get_contents($tmp_image)) . "')";
在資料庫中儲存大型影像可能會導致效能問題。考慮使用單獨的檔案儲存系統,例如 Amazon S3 或檔案系統,並將影像路徑或引用儲存在資料庫中。
以上是如何使用 PHP 安全地將映像 Blob 插入 MySQL 資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!