>本文演示瞭如何使用PHP從傳統Microsoft Access數據庫中提取嵌入式PDF和圖像文件。 第1部分涵蓋的提取包裝對象;該部分側重於PDF和常見圖像格式(BMP,GIF,JPEG,PNG)。 這些文件雖然多樣化,但共享一個通用的OLE容器結構:可變長度的標頭和拖車。 我們將利用這種結構進行提取。
密鑰概念:
strpos()
圖像提取(BMP,GIF,JPEG,PNG):substr()
使用類似的技術,適應每個圖像類型的啟動和結束定界符。 %PDF
>
%%EOF
>處理未知的OLE類型:extractUnknown()
>提取Adobe Acrobat文檔(PDFS)提取提取
%PDF
%%EOF
substr()
>
來處理並保存未知的OLE類型(使用記錄ID作為文件名)進行以後檢查。這對於識別嵌入式圖像至關重要。
提取流行的圖像類型
OLE標頭中的圖像類型標識因原始軟件和文件關聯而異。 extractUnknown()
>功能有助於分類這些類型。我們將專注於BMP,GIF,JPEG和PNG。 GIF,JPEG和PNG提取反映了PDF方法,僅更改定界數:
<?php function extractUnknown($id, $data) { file_put_contents($id . ".txt", hex2bin($data)); } ?>
BMP提取略有不同。 開始很容易找到( ),但是結束需要計算(從標題)計算大小並將其轉換為大型格式,然後再使用它提取數據。
>
>以下是更新的PHP腳本的片段。 省略了提取GIF,JPEG和PNG的功能,但要簡潔,但遵循與PDF和BMP提取的模式相同的模式。
(為簡潔而省略了常見問題部分,但可以以與其餘的輸出相似的釋義重新編寫。 以上是PHP主|從具有PHP的訪問數據庫中提取對象,第2部分的詳細內容。更多資訊請關注PHP中文網其他相關文章!BM
<?php
function extractUnknown($id, $data) {
file_put_contents($id . ".txt", hex2bin($data));
}
?>