警告:これは、メモリ内で実行することはできません - ZipArchive
はで動作することはできません「メモリマップファイル」。それはzip://
Stream wrapper Docsをサポートして
あなたはfile_get_contents
Docsを持つ変数(メモリ)へのzipファイル内のファイルのデータを取得することができます:あなたが唯一のzip://
またはZIPARCHIVEを介してローカルファイルにアクセスすることができます
$zipFile = './data/zip.kmz'; # path of zip-file
$fileInZip = 'test.txt'; # name the file to obtain
# read the file's data:
$path = sprintf('zip://%s#%s', $zipFile, $fileInZip);
$fileData = file_get_contents($path);
。そのために、あなたは最初の一時ファイルに内容をコピーすることができますし、それに取り組む:あなたは、システムコールを使用することができた場合は、最も簡単な方法は、この(BZIP2ケース)のようになります
$zip = 'http://www.curriculummagic.com/AdvancedBalloons.kmz';
$file = 'doc.kml';
$ext = pathinfo($zip, PATHINFO_EXTENSION);
$temp = tempnam(sys_get_temp_dir(), $ext);
copy($zip, $temp);
$data = file_get_contents("zip://$temp#$file");
unlink($temp);
'$ zipFile = 'http://..../bla.kmz';'を書くことができますか? – dacwe
いいえ、 'zip://'はそれまでのローカルファイルだけでなく、ZipArchiveもサポートしています。標準的なファイルシステム経由でアクセス可能にする必要があります。あなたの 'http' URLのためにこれを見えるように答えを更新します。 – hakre
'php:// memory'で動作しますか? – dacwe