当前位置: 首页>>代码示例>>PHP>>正文


PHP zip_entry_open函数代码示例

本文整理汇总了PHP中zip_entry_open函数的典型用法代码示例。如果您正苦于以下问题:PHP zip_entry_open函数的具体用法?PHP zip_entry_open怎么用?PHP zip_entry_open使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了zip_entry_open函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: odt_unzip

 public function odt_unzip($file, $save = false)
 {
     if (!function_exists('zip_open')) {
         die('NO ZIP FUNCTIONS DETECTED. Do you have the PECL ZIP extensions loaded?');
     }
     if ($zip = zip_open($file)) {
         while ($zip_entry = zip_read($zip)) {
             $filename = zip_entry_name($zip_entry);
             if (zip_entry_name($zip_entry) == 'content.xml' and zip_entry_open($zip, $zip_entry, "r")) {
                 $content = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
                 zip_entry_close($zip_entry);
             }
             if (preg_match('Pictures/', $filename) and !preg_match('Object', $filename) and zip_entry_open($zip, $zip_entry, "r")) {
                 $img[$filename] = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
                 zip_entry_close($zip_entry);
             }
         }
         if (isset($content)) {
             if ($save == false) {
                 return array($content, $img);
             } else {
                 file_put_contents('content.xml', $content);
                 if (is_array($img)) {
                     if (!is_dir('Pictures')) {
                         mkdir('Pictures');
                     }
                     foreach ($img as $key => $val) {
                         file_put_contents($key, $val);
                     }
                 }
             }
         }
     }
 }
开发者ID:hackersforcharity,项目名称:rachelpiOS,代码行数:34,代码来源:odt_reader.php

示例2: extract_zip

 function extract_zip($zipfile, $dir)
 {
     if (function_exists('zip_open')) {
         $zip = zip_open($zipfile);
         if ($zip) {
             while ($zip_entry = zip_read($zip)) {
                 if (zip_entry_filesize($zip_entry) > 0) {
                     if (zip_entry_open($zip, $zip_entry, "r")) {
                         $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
                         zip_entry_close($zip_entry);
                         file_put($dir . '/' . zip_entry_name($zip_entry), $buf);
                     }
                 } else {
                     dir_create($dir . '/' . zip_entry_name($zip_entry));
                 }
             }
             zip_close($zip);
         }
     } else {
         $array = $this->list_zip($zipfile);
         $count = count($array);
         $f = 0;
         $d = 0;
         for ($i = 0; $i < $count; $i++) {
             if ($array[$i]['folder'] == 0) {
                 if ($this->extract_file($zipfile, $dir, $i) > 0) {
                     $f++;
                 }
             } else {
                 $d++;
             }
         }
     }
     return true;
 }
开发者ID:hiproz,项目名称:zhaotaoci.cc,代码行数:35,代码来源:unzip.class.php

示例3: version_get

 /**
  * APP版本更新接口
  * @date: 2016年1月10日 下午9:30:33
  *
  * @author : Elliot
  * @param
  *            : none
  * @return :
  */
 public function version_get()
 {
     $dir = 'data';
     $dh = @opendir($dir);
     $return = array();
     while ($file = @readdir($dh)) {
         // 循环读取目录下的文件
         if ($file != '.' and $file != '..') {
             $path = $dir . DIRECTORY_SEPARATOR . $file;
             // 设置目录,用于含有子目录的情况
             if (is_file($path)) {
                 $filetime[] = date("Y-m-d H:i:s", filemtime($path));
                 // 获取文件最近修改日期
                 $return[] = $dir . DIRECTORY_SEPARATOR . $file;
             }
         }
     }
     @closedir($dh);
     // 关闭目录流
     array_multisort($filetime, SORT_DESC, SORT_STRING, $return);
     // 按时间排序
     $file = current($return);
     $zip = zip_open($file);
     if ($zip) {
         while ($zip_entry = zip_read($zip)) {
             if (zip_entry_name($zip_entry) == self::INSTALLPACKETVERSIONFILE && zip_entry_open($zip, $zip_entry, "r")) {
                 $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
                 zip_entry_close($zip_entry);
             }
         }
         zip_close($zip);
     }
     $result = array('version' => $buf, 'url' => 'http://' . $_SERVER['SERVER_NAME'] . DIRECTORY_SEPARATOR . $file);
     $this->response($result, 200);
 }
开发者ID:asmenglei,项目名称:lanxiao,代码行数:44,代码来源:Restful.php

示例4: findFromZip

function findFromZip($file, $path)
{
    global $encoding;
    if (preg_match('/.*\\.(?:jar|zip)$/i', $file)) {
        if (function_exists("zip_open")) {
            $zip = zip_open($file);
            if (!is_resource($zip)) {
                die(zipFileErrMsg($zip));
            }
            while ($entry = zip_read($zip)) {
                if (zip_entry_name($entry) == $path && zip_entry_open($zip, $entry, "r")) {
                    $contentType = findMimiType($path);
                    if (preg_match('/^image\\//i', $contentType)) {
                        header("Content-Type:{$contentType};");
                    } else {
                        header("Content-Type:{$contentType};charset={$encoding}");
                    }
                    echo zip_entry_read($entry, zip_entry_filesize($entry));
                    zip_entry_close($entry);
                    zip_close($zip);
                    return true;
                }
            }
            zip_close($zip);
        } else {
            echo "//您的php没有安装zip扩展,无法遍历zip格式类库";
            return true;
        }
    }
}
开发者ID:lukeme,项目名称:lite,代码行数:30,代码来源:index.php

示例5: getLayoutData

function getLayoutData($layout, $fileName, $usage, $install = false)
{
    $output = "";
    $zip = zip_open(($install == false ? 'layouts/' : '../layouts/') . $layout . '.zip');
    if ($zip) {
        while ($zip_entry = zip_read($zip)) {
            $file = basename(zip_entry_name($zip_entry));
            if (zip_entry_open($zip, $zip_entry, 'r')) {
                if ($usage == "include" && strpos($file, $fileName) !== FALSE) {
                    $output = 'phar://layouts/' . $layout . '.zip/' . zip_entry_name($zip_entry);
                }
                if ($usage == "echo") {
                    $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
                    if (strpos(strval($file), strval($fileName)) !== FALSE) {
                        if (strpos($file, 'settings') !== FALSE) {
                            $output = json_decode($buf, true);
                        } else {
                            $output = $buf;
                        }
                    }
                }
            }
        }
        zip_close($zip);
    }
    return $output;
}
开发者ID:Rydog101,项目名称:MyMods,代码行数:27,代码来源:functions.php

示例6: read_file_docx

 public function read_file_docx($filename)
 {
     $striped_content = '';
     $content = '';
     if (!$filename || !file_exists($filename)) {
         return false;
     }
     $zip = zip_open($filename);
     if (!$zip || is_numeric($zip)) {
         return false;
     }
     while ($zip_entry = zip_read($zip)) {
         if (zip_entry_open($zip, $zip_entry) == FALSE) {
             continue;
         }
         if (zip_entry_name($zip_entry) != "word/document.xml") {
             continue;
         }
         $content .= zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
         zip_entry_close($zip_entry);
     }
     // end while
     zip_close($zip);
     //echo $content;
     //echo "<hr>";
     //file_put_contents('1.xml', $content);
     $content = str_replace('</w:r></w:p></w:tc><w:tc>', " ", $content);
     $content = str_replace('</w:r></w:p>', "\r\n", $content);
     $striped_content = strip_tags($content);
     return $striped_content;
 }
开发者ID:einnor,项目名称:mailroom,代码行数:31,代码来源:docxreader.php

示例7: getFile

 public function getFile($name)
 {
     $this->_open();
     $contents = '';
     while ($e = zip_read($this->zh)) {
         if (zip_entry_name($e) == $name) {
             if (zip_entry_open($this->zh, $e)) {
                 $size = zip_entry_filesize($e);
                 while ($data = zip_entry_read($e, $size)) {
                     $contents .= $data;
                 }
             }
         }
     }
     /*
     $e = $this->handles[$name];
     
     if(zip_entry_open($this->zh, $e)) {
     	$size = zip_entry_filesize($e);
     	while($data = zip_entry_read($e,$size)) {
     		$contents .= $data;
     	}
     } else {
     	$this->log('could not open');
     }
     */
     $this->_close();
     return $contents;
 }
开发者ID:jonhargett,项目名称:BookGluttonEpub,代码行数:29,代码来源:OreillyZipListing.php

示例8: ExtractEntry

 public static function ExtractEntry($zip, $entry)
 {
     zip_entry_open($zip, $entry);
     $data = zip_entry_read($entry, zip_entry_filesize($entry));
     zip_entry_close($entry);
     return $data;
 }
开发者ID:hackingman,项目名称:TubeX,代码行数:7,代码来源:Zip.php

示例9: unpackZip

function unpackZip($file, $dir)
{
    if ($zip = zip_open(getcwd() . $file)) {
        if ($zip) {
            while ($zip_entry = zip_read($zip)) {
                if (zip_entry_open($zip, $zip_entry, "r")) {
                    $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
                    $dir_name = dirname(zip_entry_name($zip_entry));
                    if ($dir_name == "." || !is_dir($dir_name)) {
                        $dir_op = $dir;
                        foreach (explode("/", $dir_name) as $k) {
                            $dir_op = $dir_op . $k;
                            if (is_file($dir_op)) {
                                unlink($dir_op);
                            }
                            if (!is_dir($dir_op)) {
                                mkdir($dir_op);
                            }
                            $dir_op = $dir_op . "/";
                        }
                    }
                    $fp = fopen($dir . zip_entry_name($zip_entry), "w");
                    fwrite($fp, $buf);
                    zip_entry_close($zip_entry);
                } else {
                    return false;
                }
            }
            zip_close($zip);
        }
    } else {
        return false;
    }
    return true;
}
开发者ID:mamogmx,项目名称:praticaweb-alghero,代码行数:35,代码来源:stp.crea_doc.php

示例10: unpackInto

 function unpackInto($file_path, $dir_path)
 {
     $zip = zip_open($file_path);
     if (!is_dir($dir_path)) {
         throw new Exception($dir_path . ' should be a directory but isn\'t.');
     }
     if ($zip) {
         while ($zip_entry = zip_read($zip)) {
             zip_entry_open($zip, $zip_entry);
             if (substr(zip_entry_name($zip_entry), -1) == '/') {
                 //this $zip_entry is a directory. create it.
                 $zdir = substr(zip_entry_name($zip_entry), 0, -1);
                 mkdir($dir_path . '/' . $zdir);
             } else {
                 $file = basename(zip_entry_name($zip_entry));
                 $fp = fopen($dir_path . '/' . zip_entry_name($zip_entry), "w+");
                 //echo zip_entry_name($zip_entry);
                 if (zip_entry_open($zip, $zip_entry, "r")) {
                     $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
                     zip_entry_close($zip_entry);
                 }
                 fwrite($fp, $buf);
                 fclose($fp);
             }
         }
         zip_close($zip);
     }
 }
开发者ID:ingmarschuster,项目名称:MindResearchRepository,代码行数:28,代码来源:ZipSupplFile.php

示例11: unzip

 function unzip($file, $dir = 'unzip/')
 {
     if (!file_exists($dir)) {
         mkdir($dir, 0777);
     }
     $zip_handle = zip_open($file);
     if (is_resource($zip_handle)) {
         while ($zip_entry = zip_read($zip_handle)) {
             if ($zip_entry) {
                 $zip_name = zip_entry_name($zip_entry);
                 $zip_size = zip_entry_filesize($zip_entry);
                 if ($zip_size == 0 && $zip_name[strlen($zip_name) - 1] == '/') {
                     mkdir($dir . $zip_name, 0775);
                 } else {
                     @zip_entry_open($zip_handle, $zip_entry, 'r');
                     $fp = @fopen($dir . $zip_name, 'wb+');
                     @fwrite($fp, zip_entry_read($zip_entry, $zip_size), $zip_size);
                     @fclose($fp);
                     @chmod($dir . $zip_name, 0775);
                     @zip_entry_close($zip_entry);
                 }
             }
         }
         return true;
     } else {
         zip_close($zip_handle);
         return false;
     }
 }
开发者ID:vladimir-g,项目名称:rulinux-engine,代码行数:29,代码来源:admin.class.php

示例12: unzip

function unzip($zipfile)
{
    $zip = zip_open($zipfile);
    while ($zip_entry = zip_read($zip)) {
        zip_entry_open($zip, $zip_entry);
        if (substr(zip_entry_name($zip_entry), -1) == '/') {
            $zdir = substr(zip_entry_name($zip_entry), 0, -1);
            if (file_exists($zdir)) {
                trigger_error('Directory "<b>' . $zdir . '</b>" exists', E_USER_ERROR);
                return false;
            }
            mkdir($zdir);
        } else {
            $name = zip_entry_name($zip_entry);
            if (file_exists($name)) {
                trigger_error('File "<b>' . $name . '</b>" exists', E_USER_ERROR);
                return false;
            }
            $fopen = fopen($name, "w");
            fwrite($fopen, zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)), zip_entry_filesize($zip_entry));
        }
        zip_entry_close($zip_entry);
    }
    zip_close($zip);
    return true;
}
开发者ID:lotcz,项目名称:zshop,代码行数:26,代码来源:zip.php

示例13: parse

 public static function parse($filename)
 {
     $striped_content = '';
     $content = '';
     if (!$filename || !file_exists($filename)) {
         return false;
     }
     $zip = zip_open($filename);
     if (!$zip || is_numeric($zip)) {
         return false;
     }
     while ($zip_entry = zip_read($zip)) {
         if (zip_entry_open($zip, $zip_entry) == FALSE) {
             continue;
         }
         if (zip_entry_name($zip_entry) != "content.xml") {
             continue;
         }
         $content .= zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
         zip_entry_close($zip_entry);
     }
     zip_close($zip);
     $content = str_replace('</w:r></w:p></w:tc><w:tc>', " ", $content);
     $content = str_replace('</w:r></w:p>', "\r\n", $content);
     $striped_content = strip_tags($content);
     return $striped_content;
 }
开发者ID:ellak-monades-aristeias,项目名称:wp-file-search,代码行数:27,代码来源:odt.php

示例14: load_sheet

 function load_sheet($sheet_index)
 {
     $this->zip = zip_open($this->xlsx);
     if ($this->zip) {
         while ($zip_entry = zip_read($this->zip)) {
             if (zip_entry_name($zip_entry) == 'xl/worksheets/sheet' . $sheet_index . '.xml') {
                 // 실제 로드되는 파일
                 if (zip_entry_open($this->zip, $zip_entry, "r")) {
                     $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
                     $arr = simplexml_load_string($buf);
                     $this->rows =& $arr->sheetData->row;
                     $this->rowsize = sizeof($this->rows);
                     // dimension 을 파싱해서 써도 되지만 구찬아서.;
                     if ($this->rowsize > 0) {
                         $this->colsize = (int) array_pop(explode(":", (string) $this->rows[0]['spans']));
                         // 1:7 이런식으로 값이 들어있음.
                     } else {
                         $this->colsize = 0;
                     }
                     zip_entry_close($zip_entry);
                 }
                 // if
             }
         }
         // while
     }
     // if this zip
 }
开发者ID:akswosn,项目名称:Smartax,代码行数:28,代码来源:ohjicXlsxReader.php

示例15: read_docx

 private function read_docx()
 {
     $striped_content = '';
     $content = '';
     $zip = zip_open($this->filename);
     if (!$zip || is_numeric($zip)) {
         return false;
     }
     while ($zip_entry = zip_read($zip)) {
         if (zip_entry_open($zip, $zip_entry) == FALSE) {
             continue;
         }
         if (zip_entry_name($zip_entry) != "word/document.xml") {
             continue;
         }
         $content .= zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
         zip_entry_close($zip_entry);
     }
     // end while
     zip_close($zip);
     $content = str_replace('</w:r></w:p></w:tc><w:tc>', " ", $content);
     $content = str_replace('</w:r></w:p>', "\r\n", $content);
     $striped_content = strip_tags($content);
     return $striped_content;
 }
开发者ID:roman1970,项目名称:lis,代码行数:25,代码来源:DocxConverter.php


注:本文中的zip_entry_open函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。