Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中将二进制文件转换为PNG?_Php_Image_Feed - Fatal编程技术网

在PHP中将二进制文件转换为PNG?

在PHP中将二进制文件转换为PNG?,php,image,feed,Php,Image,Feed,我正在从一个提要接收一个文件,它是二进制格式的 此代码将在屏幕上显示图像 header("Content-type: image/png"); print $image; 然而,我尝试了许多不同的方法来保存.png文件,比如imagepng(),但似乎没有任何效果 二进制提要的开始很长,但开始是 ‰PNG IHDR,,ö"€IDATxÚì½w”×uîɲ¯,K²_²×{Ë^~ÿ½û)‹T°¨kI¤ˆ<9çäLd$E*X™ T@™ÈÌ`òôL§ÊÕÕ©r>oŸsº{¢|%‚â

我正在从一个提要接收一个文件,它是二进制格式的

此代码将在屏幕上显示图像

header("Content-type: image/png");
print $image;
然而,我尝试了许多不同的方法来保存.png文件,比如imagepng(),但似乎没有任何效果

二进制提要的开始很长,但开始是

‰PNG  IHDR,,ö"€IDATxÚì½w”×uîɲ¯,K²_²×{Ë^~ÿ½û)‹T°¨kI¤ˆ<9çäLd$E*X™ T@™ÈÌ`òôL§ÊÕÕ©r>oŸsº{¢|%‚âëZß*zª{zºëWßÞ'ì3U¶ÊVÙ®ë6§òT¶ÊV°²U¶ „•­²U¶ „•­²U ¬l•­²U ¬l•­ae«l•­á»nÿ@U¶ÊVð¹Ù[ÂÊVðOŽYÙÍ÷ý ¸W ß¾*—Te«@ø{¨Þd+'°´áÿéòÀÊ|Л
“码码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码>码l···············
任何帮助都将不胜感激

使用
imagecreatefromstring()
获取图像资源,然后您可以使用
imagepng()
保存它。假设浏览器在第一个示例中显示图像,只需将其调整为文件下载:

<?php
  header('Content-Description: File Transfer');
  header('Content-Type: image/png');
  header('Content-Disposition: attachment; filename=Image.png');
  header('Content-Transfer-Encoding: binary');
  header('Expires: 0');
  header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  header('Pragma: public');
  header('Content-Length: ' . strlen($image));
  ob_clean();  // Just in case you have output buffers enabled
  flush();
  print $image;

太好了,这是一段很好的代码,但我唯一的问题是,我需要将文件保存到磁盘,因为它将通过cron作业运行。对不起,我应该说。您是否尝试过将字符串保存到名为“image.png”的文件中?(不知道它是否实际工作)imagepng(imagecreatefromstring($image),$imagename.'.png')“将二进制文件转换为PNG”没有意义。PNG是二进制文件。您得到的字节不少于PNG,您只需保存它。