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


PHP PclZip::privErrorLog方法代码示例

本文整理汇总了PHP中PclZip::privErrorLog方法的典型用法代码示例。如果您正苦于以下问题:PHP PclZip::privErrorLog方法的具体用法?PHP PclZip::privErrorLog怎么用?PHP PclZip::privErrorLog使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PclZip的用法示例。


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

示例1: privDuplicate

 function privDuplicate($p_archive_filename)
 {
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privDuplicate", "archive_filename='$p_archive_filename'");
     $v_result = 1;
     // ----- Look if the $p_archive_filename exists
     if (!is_file($p_archive_filename)) {
         //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Archive to duplicate does not exist. End of duplicate.");
         // ----- Nothing to duplicate, so duplicate is a success.
         $v_result = 1;
         // ----- Return
         //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result);
         return $v_result;
     }
     // ----- Open the zip file
     //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Open file in binary read mode");
     if (($v_result = $this->privOpenFd('wb')) != 1) {
         // ----- Return
         //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result);
         return $v_result;
     }
     // ----- Open the temporary file in write mode
     //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Open file in binary read mode");
     if (($v_zip_temp_fd = @fopen($p_archive_filename, 'rb')) == 0) {
         $this->privCloseFd();
         PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive file \'' . $p_archive_filename . '\' in binary write mode');
         // ----- Return
         //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo());
         return PclZip::errorCode();
     }
     // ----- Copy the files from the archive to the temporary file
     // TBC : Here I should better append the file and go back to erase the central dir
     $v_size = filesize($p_archive_filename);
     while ($v_size != 0) {
         $v_read_size = $v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE;
         //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Read $v_read_size bytes");
         $v_buffer = fread($v_zip_temp_fd, $v_read_size);
         @fwrite($this->zip_fd, $v_buffer, $v_read_size);
         $v_size -= $v_read_size;
     }
     // ----- Close
     $this->privCloseFd();
     // ----- Close the temporary file
     @fclose($v_zip_temp_fd);
     // ----- Return
     //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result);
     return $v_result;
 }
开发者ID:kondrat-shmoylov,项目名称:Pagetest,代码行数:47,代码来源:pclzip.lib.php

示例2: privMerge

 function privMerge(&$p_archive_to_add)
 {
     $v_result = 1;
     // ----- Look if the archive_to_add exists
     if (!is_file($p_archive_to_add->zipname)) {
         // ----- Nothing to merge, so merge is a success
         $v_result = 1;
         // ----- Return
         return $v_result;
     }
     // ----- Look if the archive exists
     if (!is_file($this->zipname)) {
         // ----- Do a duplicate
         $v_result = $this->privDuplicate($p_archive_to_add->zipname);
         // ----- Return
         return $v_result;
     }
     // ----- Open the zip file
     if (($v_result = $this->privOpenFd('rb')) != 1) {
         // ----- Return
         return $v_result;
     }
     // ----- Read the central directory informations
     $v_central_dir = array();
     if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) {
         $this->privCloseFd();
         return $v_result;
     }
     // ----- Go to beginning of File
     @rewind($this->zip_fd);
     // ----- Open the archive_to_add file
     if (($v_result = $p_archive_to_add->privOpenFd('rb')) != 1) {
         $this->privCloseFd();
         // ----- Return
         return $v_result;
     }
     // ----- Read the central directory informations
     $v_central_dir_to_add = array();
     if (($v_result = $p_archive_to_add->privReadEndCentralDir($v_central_dir_to_add)) != 1) {
         $this->privCloseFd();
         $p_archive_to_add->privCloseFd();
         return $v_result;
     }
     // ----- Go to beginning of File
     @rewind($p_archive_to_add->zip_fd);
     // ----- Creates a temporay file
     $v_zip_temp_name = PCLZIP_TEMPORARY_DIR . uniqid('pclzip-') . '.tmp';
     // ----- Open the temporary file in write mode
     if (($v_zip_temp_fd = @fopen($v_zip_temp_name, 'wb')) == 0) {
         $this->privCloseFd();
         $p_archive_to_add->privCloseFd();
         PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \'' . $v_zip_temp_name . '\' in binary write mode');
         // ----- Return
         return PclZip::errorCode();
     }
     // ----- Copy the files from the archive to the temporary file
     // TBC : Here I should better append the file and go back to erase the central dir
     $v_size = $v_central_dir['offset'];
     while ($v_size != 0) {
         $v_read_size = $v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE;
         $v_buffer = fread($this->zip_fd, $v_read_size);
         @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size);
         $v_size -= $v_read_size;
     }
     // ----- Copy the files from the archive_to_add into the temporary file
     $v_size = $v_central_dir_to_add['offset'];
     while ($v_size != 0) {
         $v_read_size = $v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE;
         $v_buffer = fread($p_archive_to_add->zip_fd, $v_read_size);
         @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size);
         $v_size -= $v_read_size;
     }
     // ----- Store the offset of the central dir
     $v_offset = @ftell($v_zip_temp_fd);
     // ----- Copy the block of file headers from the old archive
     $v_size = $v_central_dir['size'];
     while ($v_size != 0) {
         $v_read_size = $v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE;
         $v_buffer = @fread($this->zip_fd, $v_read_size);
         @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size);
         $v_size -= $v_read_size;
     }
     // ----- Copy the block of file headers from the archive_to_add
     $v_size = $v_central_dir_to_add['size'];
     while ($v_size != 0) {
         $v_read_size = $v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE;
         $v_buffer = @fread($p_archive_to_add->zip_fd, $v_read_size);
         @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size);
         $v_size -= $v_read_size;
     }
     // ----- Merge the file comments
     $v_comment = $v_central_dir['comment'] . ' ' . $v_central_dir_to_add['comment'];
     // ----- Calculate the size of the (new) central header
     $v_size = @ftell($v_zip_temp_fd) - $v_offset;
     // ----- Swap the file descriptor
     // Here is a trick : I swap the temporary fd with the zip fd, in order to use
     // the following methods on the temporary fil and not the real archive fd
     $v_swap = $this->zip_fd;
     $this->zip_fd = $v_zip_temp_fd;
     $v_zip_temp_fd = $v_swap;
//.........这里部分代码省略.........
开发者ID:TheTypoMaster,项目名称:SPHERE-Framework,代码行数:101,代码来源:pclzip.lib.php

示例3: privDirCheck

 function privDirCheck($p_dir, $p_is_dir = false)
 {
     $v_result = 1;
     //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privDirCheck", "entry='$p_dir', is_dir='".($p_is_dir?"true":"false")."'");
     // ----- Remove the final '/'
     if ($p_is_dir && substr($p_dir, -1) == '/') {
         $p_dir = substr($p_dir, 0, strlen($p_dir) - 1);
     }
     //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Looking for entry '$p_dir'");
     // ----- Check the directory availability
     if (is_dir($p_dir) || $p_dir == "") {
         //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, "'$p_dir' is a directory");
         return 1;
     }
     // ----- Extract parent directory
     $p_parent_dir = dirname($p_dir);
     //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Parent directory is '$p_parent_dir'");
     // ----- Just a check
     if ($p_parent_dir != $p_dir) {
         // ----- Look for parent directory
         if ($p_parent_dir != "") {
             if (($v_result = $this->privDirCheck($p_parent_dir)) != 1) {
                 //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result);
                 return $v_result;
             }
         }
     }
     // ----- Create the directory
     //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Create directory '$p_dir'");
     if (!@mkdir($p_dir, 0777)) {
         // ----- Error log
         PclZip::privErrorLog(PCLZIP_ERR_DIR_CREATE_FAIL, "Unable to create directory '{$p_dir}'");
         // ----- Return
         //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo());
         return PclZip::errorCode();
     }
     // ----- Return
     //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result, "Directory '$p_dir' created");
     return $v_result;
 }
开发者ID:fedeB-IT-dept,项目名称:fedeB_website,代码行数:40,代码来源:net2ftp_installer.php

示例4: privGrow

 function privGrow($p_filedescr_list, &$p_result_list, &$p_options)
 {
     $v_result = 1;
     $v_list_detail = array();
     // ----- Look if the archive exists or is empty
     if (!is_file($this->_za->zipname) || filesize($this->_za->zipname) == 0) {
         // ----- Do a create
         $v_result = $this->_za->privCreate($p_filedescr_list, $p_result_list, $p_options);
         // ----- Return
         return $v_result;
     }
     // ----- Magic quotes trick
     $this->_za->privDisableMagicQuotes();
     // ----- Open the zip file
     // ----- Open the zip file in r/w binary mode with no truncation and file pointer at start
     if (($v_result = $this->_za->privOpenFd('c+b')) != 1) {
         // ----- Magic quotes trick
         $this->_za->privSwapBackMagicQuotes();
         // ----- Return
         return $v_result;
     }
     // ----- Read the central directory informations
     $v_central_dir = array();
     if (($v_result = $this->_za->privReadEndCentralDir($v_central_dir)) != 1) {
         $this->_za->privCloseFd();
         $this->_za->privSwapBackMagicQuotes();
         return $v_result;
     }
     // ----- Go to beginning of File
     //@rewind($this->_za->zip_fd);
     // ----- Go to the start of the central dir
     @fseek($this->_za->zip_fd, $v_central_dir['offset']);
     // ----- Creates a temporay file
     //$v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp';
     $v_zip_temp_name = 'php://temp/maxmemory:10485760';
     // ----- Open the temporary file in write mode
     //if (($v_zip_temp_fd = @fopen($v_zip_temp_name, 'wb')) == 0)
     // ----- Open the temporary file in read/write mode
     if (($v_zip_temp_fd = @fopen($v_zip_temp_name, 'w+b')) == 0) {
         $this->_za->privCloseFd();
         $this->_za->privSwapBackMagicQuotes();
         //PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_zip_temp_name.'\' in binary write mode');
         PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \'' . $v_zip_temp_name . '\' in binary read/write mode');
         // ----- Return
         return PclZip::errorCode();
     }
     // ----- Copy the files from the archive to the temporary file
     // TBC : Here I should better append the file and go back to erase the central dir
     //$v_size = $v_central_dir['offset'];
     // ----- Copy the existing central dir to a temporary file
     $v_size = $v_central_dir['size'];
     while ($v_size != 0) {
         $v_read_size = $v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE;
         $v_buffer = fread($this->_za->zip_fd, $v_read_size);
         @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size);
         $v_size -= $v_read_size;
     }
     // ----- Swap the file descriptor
     // Here is a trick : I swap the temporary fd with the zip fd, in order to use
     // the following methods on the temporary fil and not the real archive
     //$v_swap = $this->_za->zip_fd;
     //$this->_za->zip_fd = $v_zip_temp_fd;
     //$v_zip_temp_fd = $v_swap;
     // ----- Modify existing zip file so keep file descriptors as they are
     // ----- Now truncate after existing files and seek to end to add new files
     @rewind($this->_za->zip_fd);
     @ftruncate($this->_za->zip_fd, $v_central_dir['offset']);
     @fseek($this->_za->zip_fd, 0, SEEK_END);
     // ----- Add the files
     $v_header_list = array();
     if (($v_result = $this->_za->privAddFileList($p_filedescr_list, $v_header_list, $p_options)) != 1) {
         fclose($v_zip_temp_fd);
         $this->_za->privCloseFd();
         //@unlink($v_zip_temp_name);
         $this->_za->privSwapBackMagicQuotes();
         // ----- Return
         return $v_result;
     }
     // ----- Store the offset of the central dir
     $v_offset = @ftell($this->_za->zip_fd);
     // ----- Rewind temp file ready to copy original central dir entries
     @rewind($v_zip_temp_fd);
     // ----- Copy the block of file headers from the old archive
     $v_size = $v_central_dir['size'];
     while ($v_size != 0) {
         $v_read_size = $v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE;
         $v_buffer = @fread($v_zip_temp_fd, $v_read_size);
         @fwrite($this->_za->zip_fd, $v_buffer, $v_read_size);
         $v_size -= $v_read_size;
     }
     // ----- Create the Central Dir files header
     for ($i = 0, $v_count = 0; $i < sizeof($v_header_list); $i++) {
         // ----- Create the file header
         if ($v_header_list[$i]['status'] == 'ok') {
             if (($v_result = $this->_za->privWriteCentralFileHeader($v_header_list[$i])) != 1) {
                 fclose($v_zip_temp_fd);
                 $this->_za->privCloseFd();
                 //@unlink($v_zip_temp_name);
                 $this->_za->privSwapBackMagicQuotes();
                 // ----- Return
//.........这里部分代码省略.........
开发者ID:elephantcode,项目名称:elephantcode,代码行数:101,代码来源:zbzippclzip.php


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