2016-10-02 7 views
0

私はZIPファイル(VPK拡張子を持つ)を持っており、zipファイルのディレクトリ内にあるファイルを抽出したいと思います。アップロードされたファイルは正しくアップロードされます。ここに私の現在のコードです。残念ながらそれはエラーを投げます。私はこの方法で前が、これに関連する他の回答を見てファイルを抽出したことがありません ディレクトリ内のZIPから単一のファイルを読む

fopen(zip://./pkg/0152cc9c0c52da70/4rows_1_1.vpk#/sce_sys/icon0.png): failed to open stream: operation failed 

、彼らはすべての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); 

エラーコードはこれですしかし、必要なファイルはzipファイルのサブディレクトリにあります。私は私が間違っていることを完全には分かっていない。

ありがとうございました。

答えて

0

訂正は、/ sce_sysを#sce_sysに置き換えることです。最初の/はディレクトリには必須ではありません。

関連する問題