ホームページ  >  記事  >  バックエンド開発  >  [ルーキー] pclzip クラス ライブラリがファイルの解凍に失敗しました

[ルーキー] pclzip クラス ライブラリがファイルの解凍に失敗しました

WBOY
WBOYオリジナル
2016-06-23 13:31:231387ブラウズ

この 2 日間で、サーバーにオンライン アップグレード機能を実装します。そのプロセスでは、クライアントがホストにリクエストを送信し、クライアントの ID を確認した後、ホストがアップグレード パッケージのアドレスとファイル名を送り返します。このパッケージはローカル フォルダーに書き込まれ、最終的にフォルダーを解凍してローカル サーバー上のファイルを上書きすることで更新が完了します。
このステップを解凍するときに、pclzip クラス ライブラリを使用しました。最初に見たとき、構文は非常に単純だと感じましたが、この 2 ~ 3 行のコードだけでは機能しませんでした。 pclzip を使用するのは初めてです。長い間 Baidu を検索しましたが、同様の状況に陥った人がいなかったので、助けを求めるためにここに投稿するしかありません。ありがとうございました。

これは私が操作したコードの一部です

$updatenowinfo = getremotecontent($updatehosturl);		//$updatenowinfo = file_get_contents($updatehosturl);        if (strstr($updatenowinfo, 'zip')){			$pathurl = file_get_contents($updatehost . '?g=System&m=Verify&a=download&f=' . $updatenowinfo);			$resUrl = 'http://www.wqxiu.com';            $pathurl = $resUrl.$pathurl.$updatenowinfo;			echo $pathurl;            $updatedir = './Conf/logs/Temp/update';			$filepath = $updatedir.'/'.$updatenowinfo;            delDirAndFile($updatedir);			mkdirs($updatedir);			//下载补丁            //if(getremotefile($pathurl,$updatenowinfo,$updatedir)){				$isgot = get_file($pathurl, $updatenowinfo, $updatedir);			if($isgot){				$updatezip = $updatedir . '/' . $updatenowinfo;				require_once('pclzip.lib.php');											$thisfolder = new PclZip('update.zip');				var_dump($updatezip);				$isextract = $thisfolder->extract();


これは、この問題の検討を容易にするために後で別に書かれたコードです
public function test2(){		require_once('pclzip.lib.php');		$archive = new PclZip('archive.zip');        $v_list = $archive->create('update.class.php,index.html');			echo $v_list;		$thisfolder = new PclZip('http://www.wqxiu.com/Uploads/resource/V4.7_V4.8updatepackage.zip');		$isextract = $thisfolder->extract();		}


議論への返信(解決策)

解凍するだけなら、PHP 組み込みの ZipArchive を使用できます


まずこの問題を解決する必要があります

Linux コマンド unzip を直接呼び出して実行できます。
unzip -d path o.zip
o.zip は圧縮パッケージです
path は解凍先のディレクトリです


まずこの問題を解決してから話し合ってください

URL は私のローカルのものですが、どういうわけか後でまた機能します…
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。