getFromNameメソッドを使用してZipArchiveでファイルコンテンツを読み込もうとしています。私のファイル名は二重のドット(..
)です。PHP ZipArchive getFromNameは相対パスでファイルを読み取ることができません
$zip = new ZipArchive();
$zip->open('book.zip');
$content = $zip->getFromName('book/html/../README.md');
var_dump($content);
私のzipファイルの構造はこれです:
Archive: book.zip
Length Date Time Name
--------- ---------- ----- ----
0 2016-06-01 11:09 book/
0 2016-06-01 11:02 book/html/
1855 2016-06-01 11:02 book/html/composer.json
2354 2016-06-01 11:09 book/README.md
--------- -------
4209 4 files
私のPHPスクリプトは私のzipファイルと同じディレクトリにあるここに私のコードです。 私はこのように、Linuxのコマンドを使用してzip形式したフォルダ内のファイル一覧表示しようとすると:それは完璧に動作
ls -l book/html/../README.md
を。私はZipArchiveがこの相対パスを正しく読むことができない理由を理解していません。
注:私は、私は絶対パスでファイルを読み取ることができることを知っている:book/README.md
が、私は本当に、ファイルパスが別の場所から動的にロードされるため..
との相対パスを使用する必要があると私は持っていませんそれらを制御する。