include/chajian/zipChajian.php
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
class zipChajian extends Chajian{
/**
* 解压zip文件
*/
public function unzip($filename, $path){
if(!function_exists('zip_open'))return 'php未开启zip模块';
if(!file_exists($filename))return '文件不存在';
@$resource = zip_open($filename);
if(!$resource)return '无法打开文件';
while ($dir_resource = zip_read($resource)){
if(zip_entry_open($resource,$dir_resource)){
$file_name = $path.zip_entry_name($dir_resource);
$file_path = substr($file_name,0,strrpos($file_name, "/"));
if(!is_dir($file_path))mkdir($file_path,0777,true);
if(!is_dir($file_name)){
$file_size = zip_entry_filesize($dir_resource);
$file_content = zip_entry_read($dir_resource, $file_size);
$bos = $this->writefile($file_name, $file_content);
if(!$bos)return '无权限写入文件:'.$file_name.'';
}
zip_entry_close($dir_resource);
}
}
zip_close($resource);
return 'ok';
}
private function writefile($file_name, $file_content)
{
$oldcont = '';
if(file_exists($file_name)){
$oldcont = file_get_contents($file_name);
if($oldcont != $file_content){
$barfile = ''.UPDIR.'/upage/'.$file_name.'';
$this->rock->createdir($barfile);
copy($file_name, $barfile);
}
}
@$bos = file_put_contents($file_name,$file_content);
return $bos;
}
/**
* 获取zip上文件
*/
public function zipget($filename){
if(!function_exists('zip_open'))return 'php未开启zip模块';
if(!file_exists($filename))return '文件不存在';
@$resource = zip_open($filename);
if(!$resource)return '无法打开文件';
$farr = array();
while ($dir_resource = zip_read($resource)){
if(zip_entry_open($resource,$dir_resource)){
$file_name = zip_entry_name($dir_resource);
$file_path = substr($file_name,0,strrpos($file_name, "/"));
if(!is_dir($file_name) && substr($file_name,-1)!='/'){
$file_size = zip_entry_filesize($dir_resource);
$file_content = zip_entry_read($dir_resource, $file_size);
后面还有 45 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。
