我有一個PHP函數,它接受任意字符串和從它創建圖像資源,自動探測圖像格式,如下時:PHP出口圖像作爲相同類型(PNG,JPG等)使用imagecreatefromstring()
$im = imagecreatefromstring($image_data_string);
您肯定知道,這將創建$ IM圖像資源時$image_data_string
包含任何支持的圖像類型,如JPG,PNG等
一些操作到$ IM資源後(修改一些像素等),我想要以相同的格式再次返回圖像字符串。也就是說,如果數據字符串包含PNG圖像,我想返回生成的PNG圖像的字符串。如果是JPG,那麼我想以字符串形式將它作爲JPG返回。
PHP支持imagejpeg()
或imagepng()
等功能,所以如果我知道如何檢測$ im資源的圖像類型,那麼我將全部設置。有像imagesx()
和imagesy()
這樣的函數返回$im
資源的寬度和高度,但是我找不到適當的函數,它會返回$im
資源的圖像類型。
我想到的唯一方法是分析原始$image_data_string
的第一個字節,以便找出圖像類型。但我寧願爲此目的使用本地PHP函數,這可以在$ im資源參數上工作。有沒有這樣的事情?
感謝
你爲什麼不使用額外的變量來保存圖像擴展? –
你是如何得到$ image_data_string變量的?有可能你也可以在這個階段存儲文件類型? –