2011-03-07 67 views
0

我在一個綁定位。檢查圖像類型和壓縮沒有圖像Magick

我需要編寫一個通過圖像文件夾(在由不同部門維護的服務器上)的腳本,並檢查它們是否都是未壓縮的TIF。我們的本地盒子安裝了Image Magick,但這臺服務器沒有。這個服務器的負責人沒有任何幫助(當我上週請求shell訪問時,他回答說:「這是一個Windows服務器,所以......不是」,就好像SSH是平臺相關的),所以我需要一個解決方法。

有沒有一種方法來檢查壓縮和文件類型(短只是斬斷擴展名)沒有Image Magick

+1

TIFF是一種容器格式,並提供了圖像編碼的巨大差異。檢查壓縮而不檢查一堆頭結構並不簡單。 32773或0x8005這些值表示某些光柵圖像的運行長度編碼:http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf – mario 2011-03-07 19:58:06

+0

啊,出問題了! :) – 2011-03-07 21:13:24

回答

0

嗯,是的,但你需要訪問比ImageMagick或GD更多的東西。首先,確保你的服務器上沒有GD,因爲這也能解決你的問題。

使用GD你會怎麼做:http://php.net/manual/en/function.getimagesize.php

如果服務器沒有得到任何GD你可能需要或者使用一些其他Web服務(和圖像發送給它)或執行shell命令,使用服務器上安裝的其他圖像工具。

+0

我剛剛運行gd_info(),它回來了空白。 – tkm256 2011-03-07 20:35:18

0

您可以讀取第一個X字節(通常爲8)以獲取文件的幻數,並且可以選擇讀取頭文件,查找TIF信息。看看TIF的文件格式規範。

p.s.如有必要,我會爲您提供示例。 :)

+0

如何以字符串形式讀取文件的內容?我試過file_get_contents,但它似乎不適用於這種格式。 – tkm256 2011-03-07 20:51:13

+0

嘗試fread:http://php.net/manual/en/function.fread.php – 2011-03-07 21:14:15

+0

fread上沒有骰子()。 Urgh。 – tkm256 2011-03-07 21:30:57