У меня есть ZIP-файл (с расширением VPK), и я хочу извлечь файл, находящийся в каталоге zip-файла. Загруженный файл загружается правильно. Вот мой текущий код. но, к сожалению, это порождает ошибку.Прочтите один файл из ZIP в каталоге
$hbid = substr(md5(time()),0,16);
mkdir("pkg/".$hbid, 0700);
mkdir("pkg_image/".$hbid, 0700);
$target_dir = "pkg/" . $hbid . "/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
...
FILE UPLOADING CODE HERE
...
ERROR -> $handle = fopen('zip://./'.$target_file.'#/sce_sys/icon0.png', 'r');
$result = '';
if($handle){
while (!feof($handle)) {
$result .= fread($handle, 8192);
}
fclose($handle);
$file = fopen("pkg_image/".$hbid."/icon0.png");
fwrite($file,$result);
fclose($file);
Код ошибки это:
fopen(zip://./pkg/0152cc9c0c52da70/4rows_1_1.vpk#/sce_sys/icon0.png): failed to open stream: operation failed
Я никогда не извлеченный файл перед этим способом, но, глядя на другие ответы на это, все они извлечь файл из корня почтового индекса , но нужный мне файл находится в подкаталоге zip-файла. Я не совсем уверен, что я делаю неправильно.
Спасибо.