0

フィードからファイルを受信して​​います。これはバイナリ形式です。

このコードは画面に画像を表示します

header("Content-type: image/png");
print $image;

ただし、imagepng() などの .png を保存するさまざまな方法を試しましたが、何も機能しないようです

バイナリフィードの開始はかなり長いですが、開始は...

‰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+'°´áÿéòÀÊ|Л

どんな助けでも大歓迎です

4

2 に答える 2

1

を使用imagecreatefromstring()して画像リソースを取得し、を使用して保存できますimagepng()

于 2013-02-28T11:25:03.073 に答える
0

最初の例でブラウザに画像が表示されていると仮定して、ファイルのダウンロードになるように微調整します。

<?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;
于 2013-02-28T11:25:11.507 に答える