私はバイトを含むPHP配列を持ち、実際のバイトはZIPファイル(ZIP内に複数のファイルを含む)を表します。ZIPファイルへのPHPの配列
これはサードパーティのAPIから返されているので、このフォーマットで作業する以外に選択肢はありません。
私はこれをZIPファイルに変換しようとしています。 APIによって返されるバイト配列の
例:
[bytes] => Array
(
[0] => 37
[1] => 80
[2] => 68
[3] => 70
[4] => 45
[5] => 49
[6] => -46
... continues to close to 20,000
)
私は単純に、完全なバイト文字列を作成し、ブラウザヘッダを適応させることによって、それを返すために、ブラウザを取得しようとしている...使用:
foreach($bytes as $byte)
{
$byteString .= $byte;
}
header("Content-type: application/zip");
header("Content-Disposition: inline; filename='test.zip'");
echo $byteString;
これはzipファイルを作成しますが、無効/破損しています。
はまた、私はStackOverflowの上のどこかに見つけたこの試みている:$fp = fopen('/myfile.zip', 'wb+');
while(!empty($bytes)) {
$byte1 = array_shift($bytes);
$byte2 = array_shift($bytes);
if(!$byte2) {
$byte2 = 0;
}
fwrite($fp, pack("n*", ($byte1 << 8) + $byte2));
}
close($fp);
しかし、再び、ZIPが作成されますが、それが破損している/無効です。
ほとんどの指摘があります。アスキーテーブルの助けを借りて
おかげ
このAPIを誤って使用している可能性が高いようです。 –
"このAPIを使用している可能性は非常に高いようです。 - いいえ、私は思ったのですが!これはカスタムAPIであり、実際にどのように設定されているかです。 – user1513196