2012-11-21 32 views
2

我有一个文件叫做$ png_file,它是一个从数据库中取出的字符串。 我希望能够以如下方式使用它:如何在PHP函数imagecreatefromstring中使用png字符串?

$image = imagecreatefromstring($png_file); 
$width = imagesx($image); 
$height = imagesy($image); 

,这样我可以得到保存在数据库中的字符串PNG文件的高度和宽度。

然而,每次我尝试这样做,我得到以下错误:

Warning: imagecreatefromstring() [function.imagecreatefromstring]: gd-png: fatal libpng error: Read Error: truncated data in on line 39 
Warning: imagecreatefromstring() [function.imagecreatefromstring]: gd-png error: setjmp returns error condition in on line 39 
Warning: imagecreatefromstring() [function.imagecreatefromstring]: Passed data is not in 'PNG' format in on line 39 
Warning: imagecreatefromstring() [function.imagecreatefromstring]: Couldn't create GD Image Stream out of Data in on line 39 
Warning: imagesx() expects parameter 1 to be resource, boolean given in on line 40 
Warning: imagesy() expects parameter 1 to be resource, boolean given in on line 41 

我怎样才能解决这个问题?并注意,PNG文件是一个字符串,我不能得到它作为一个URL

+1

当你不显示如何获取图像数据时,无法帮助您。你没有显示任何相关的代码。无论你的形象是腐败的,还是你以奇怪的方式获取它。 – Brad

回答

0

可能会迟到,但你可以试试:

$image = imagecreatefromstring(file_get_contents($png_file)); 
$width = imagesx($image); 
$height = imagesy($image); 

注意的:file_get_contents部分。

希望它有帮助