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


PHP gzclose函数代码示例

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


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

示例1: gzipContent

 /**
  * Gzip content
  *
  * @param string $filePath
  * @param string $content
  * @return void
  */
 protected function gzipContent($filePath, $content)
 {
     $functionName = function_exists('gzopen') ? 'gzopen' : 'gzopen64';
     $gzip = $functionName($filePath . $this->gzFileExtension, $this->gzCompressionLevel);
     gzputs($gzip, $content);
     gzclose($gzip);
 }
开发者ID:esase,项目名称:dream-cms,代码行数:14,代码来源:LayoutHeadResource.php

示例2: geoip_detect_update

function geoip_detect_update()
{
    $download_url = 'http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz';
    $outFile = geoip_detect_get_database_upload_filename();
    // Download
    $tmpFile = download_url($download_url);
    if (is_wp_error($tmpFile)) {
        return $tmpFile->get_error_message();
    }
    // Ungzip File
    $zh = gzopen($tmpFile, 'r');
    $h = fopen($outFile, 'w');
    if (!$zh) {
        return __('Downloaded file could not be opened for reading.', 'geoip-detect');
    }
    if (!$h) {
        return sprintf(__('Database could not be written (%s).', 'geoip-detect'), $outFile);
    }
    while (($string = gzread($zh, 4096)) != false) {
        fwrite($h, $string, strlen($string));
    }
    gzclose($zh);
    fclose($h);
    //unlink($tmpFile);
    return true;
}
开发者ID:yavormilchev,项目名称:wp-geoip-detect,代码行数:26,代码来源:updater.php

示例3: setFile

 private function setFile()
 {
     $recognize = '';
     $recognize = implode('_', $this->dbName);
     $fileName = $this->trimPath($this->config['path'] . self::DIR_SEP . time() . '.sql');
     $path = $this->setPath($fileName);
     if ($path !== true) {
         $this->error("无法创建备份目录目录 '{$path}'");
     }
     if ($this->config['isCompress'] == 0) {
         if (!file_put_contents($fileName, $this->content, LOCK_EX)) {
             $this->error('写入文件失败,请检查磁盘空间或者权限!');
         }
     } else {
         if (function_exists('gzwrite')) {
             $fileName .= '.gz';
             if ($gz = gzopen($fileName, 'wb')) {
                 gzwrite($gz, $this->content);
                 gzclose($gz);
             } else {
                 $this->error('写入文件失败,请检查磁盘空间或者权限!');
             }
         } else {
             $this->error('没有开启gzip扩展!');
         }
     }
     if ($this->config['isDownload']) {
         $this->downloadFile($fileName);
     }
 }
开发者ID:liuguogen,项目名称:weixin,代码行数:30,代码来源:MySQLReback.class.php

示例4: WRITE

 function WRITE($hash, $overwrite = 0)
 {
     $id = $hash["id"];
     $version = $hash["version"];
     $dbfile = $this->FN("{$id}.{$version}");
     if (!$overwrite && file_exists($dbfile)) {
         return;
     }
     #-- read-lock
     if (file_exists($dbfile)) {
         $lock = fopen($dbfile, "rb");
         flock($lock, LOCK_EX);
     }
     #-- open file for writing, secondary lock
     if ($f = gzopen($dbfile, "wb" . $this->gz)) {
         if (!lock) {
             flock($f, LOCK_EX);
         }
         $r = gzwrite($f, serialize($hash));
         gzclose($f);
         $this->SETVER($id, $version);
         $this->CACHE_ADD($id, $version);
         return 1;
     }
     #-- dispose lock
     if ($lock) {
         flock($lock, LOCK_UN);
         fclose($lock);
     }
     return 0;
 }
开发者ID:gpuenteallott,项目名称:rox,代码行数:31,代码来源:dzf2.php

示例5: finish

 /**
  * Finish: close file
  */
 public function finish()
 {
     if ($this->isOpen()) {
         gzclose($this->Resource);
         $this->Resource = null;
     }
 }
开发者ID:guancio,项目名称:Runalyze,代码行数:10,代码来源:GZipWriter.php

示例6: testCreate

 public function testCreate()
 {
     $sitemap = new Sitemap(['maxUrlsCountInFile' => 1]);
     $sitemapDirectory = $sitemap->sitemapDirectory = $this->path;
     $sitemap->addModel(Category::className());
     $sitemap->setDisallowUrls(['#category_2#']);
     $sitemap->create();
     $sitemapFileNames = array();
     foreach (glob("{$sitemapDirectory}/sitemap*") as $sitemapFilePath) {
         $sitemapFileNames[] = basename($sitemapFilePath);
     }
     $this->assertEquals($sitemapFileNames, array('sitemap.xml', 'sitemap.xml.gz', 'sitemap1.xml', 'sitemap1.xml.gz', 'sitemap2.xml', 'sitemap2.xml.gz'));
     $xmlData = file_get_contents("{$sitemapDirectory}/sitemap.xml");
     $this->assertNotFalse(strpos($xmlData, '<?xml version="1.0" encoding="UTF-8"?>'));
     $xmlData = file_get_contents("{$sitemapDirectory}/sitemap2.xml");
     $this->assertNotFalse(strpos($xmlData, '<loc>http://localhost/category_3</loc>'));
     $gzSitemap = gzopen("{$sitemapDirectory}/sitemap.xml.gz", "r");
     $sitemap = fopen("{$sitemapDirectory}/sitemap.xml", "r");
     $this->assertEquals(fread($gzSitemap, 2000), fread($sitemap, 2000));
     gzclose($gzSitemap);
     fclose($sitemap);
     $gzSitemap = gzopen("{$sitemapDirectory}/sitemap2.xml.gz", "r");
     $sitemap = fopen("{$sitemapDirectory}/sitemap2.xml", "r");
     $this->assertEquals(fread($gzSitemap, 2000), fread($sitemap, 2000));
     gzclose($gzSitemap);
     fclose($sitemap);
 }
开发者ID:zhelyabuzhsky,项目名称:yii2-sitemap,代码行数:27,代码来源:SitemapTest.php

示例7: rotateLogs

 /**
  * Rotate all files in var/log which ends with .log
  */
 public function rotateLogs()
 {
     $var = Mage::getBaseDir('log');
     $logDir = new Varien_Io_File();
     $logDir->cd($var);
     $logFiles = $logDir->ls(Varien_Io_File::GREP_FILES);
     foreach ($logFiles as $logFile) {
         if ($logFile['filetype'] == 'log') {
             $filename = $logFile['text'];
             if (extension_loaded('zlib')) {
                 $zipname = $var . DS . $this->getArchiveName($filename);
                 $zip = gzopen($zipname, 'wb9');
                 gzwrite($zip, $logDir->read($filename));
                 gzclose($zip);
             } else {
                 $logDir->cp($filename, $this->getArchiveName($filename));
             }
             foreach ($this->getFilesOlderThan(self::MAX_FILE_DAYS, $var, $filename) as $oldFile) {
                 $logDir->rm($oldFile['text']);
             }
             $logDir->rm($filename);
         }
     }
     $logDir->close();
 }
开发者ID:kirchbergerknorr,项目名称:firegento-logger,代码行数:28,代码来源:Observer.php

示例8: geoip_detect_update

function geoip_detect_update()
{
    // TODO: Currently cron is scheduled but not executed. Remove scheduling.
    if (get_option('geoip-detect-source') != 'auto') {
        return;
    }
    $download_url = 'http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz';
    $download_url = apply_filters('geoip_detect2_download_url', $download_url);
    $outFile = geoip_detect_get_database_upload_filename();
    // Download
    $tmpFile = download_url($download_url);
    if (is_wp_error($tmpFile)) {
        return $tmpFile->get_error_message();
    }
    // Ungzip File
    $zh = gzopen($tmpFile, 'r');
    $h = fopen($outFile, 'w');
    if (!$zh) {
        return __('Downloaded file could not be opened for reading.', 'geoip-detect');
    }
    if (!$h) {
        return sprintf(__('Database could not be written (%s).', 'geoip-detect'), $outFile);
    }
    while (($string = gzread($zh, 4096)) != false) {
        fwrite($h, $string, strlen($string));
    }
    gzclose($zh);
    fclose($h);
    unlink($tmpFile);
    return true;
}
开发者ID:ryan2407,项目名称:Vision,代码行数:31,代码来源:updater.php

示例9: execute

    protected function execute(InputInterface $input, OutputInterface $output)
    {
        $em = $this->getEntityManager($input->getOption('em'));
        $c = $this->getContainer();
        if (!$c->hasParameter('kb_sitemap.base_url')) {
            throw new \RuntimeException("Sitemap requires base_url parameter [kb_sitemap.base_url] to be available, through config or parameters");
        }
        $output->write('<info>Fetching resources..</info>' . PHP_EOL);
        $dql = <<<___SQL
        SELECT b.name, b.ownerName, b.updatedAt FROM KnpBundlesBundle:Bundle b
___SQL;
        $q = $em->createQuery($dql);
        $bundles = $q->getArrayResult();
        $dql = <<<___SQL
        SELECT d.name, d.createdAt FROM KnpBundlesBundle:Developer d
___SQL;
        $q = $em->createQuery($dql);
        $users = $q->getArrayResult();
        $sitemapFile = $c->getParameter('kernel.root_dir') . '/../web/sitemap.xml';
        $output->write('<info>Building sitemap...</info>' . PHP_EOL);
        $spaceless = (bool) $input->getOption('spaceless');
        $tpl = $spaceless ? 'KnpSitemapBundle::sitemap.spaceless.xml.twig' : 'KnpSitemapBundle::sitemap.xml.twig';
        $sitemap = $c->get('templating')->render($tpl, compact('bundles', 'users'));
        $output->write("<info>Saving sitemap in [{$sitemapFile}]..</info>" . PHP_EOL);
        file_put_contents($sitemapFile, $sitemap);
        // gzip the sitemap
        if (function_exists('gzopen')) {
            $output->write("<info>Gzipping the generated sitemap [{$sitemapFile}.gz]..</info>" . PHP_EOL);
            $gz = gzopen($sitemapFile . '.gz', 'w9');
            gzwrite($gz, $sitemap);
            gzclose($gz);
        }
        $output->write('<info>Done</info>' . PHP_EOL);
    }
开发者ID:KnpLabs,项目名称:KnpBundles,代码行数:34,代码来源:GenerateCommand.php

示例10: animetitlesUpdate

 public function animetitlesUpdate()
 {
     $db = new DB();
     $lastUpdate = $db->queryOneRow("SELECT unixtime AS utime FROM animetitles LIMIT 1");
     if (isset($lastUpdate['utime']) && time() - $lastUpdate['utime'] < 604800) {
         return;
     }
     if ($this->echooutput) {
         echo "Updating animetitles.";
     }
     $zh = gzopen('http://anidb.net/api/animetitles.dat.gz', 'r');
     preg_match_all('/(\\d+)\\|\\d\\|.+\\|(.+)/', gzread($zh, '10000000'), $animetitles);
     if (!$animetitles) {
         return false;
     }
     if ($this->echooutput) {
         echo ".";
     }
     $db->query("DELETE FROM animetitles WHERE anidbID IS NOT NULL");
     for ($i = 0; $i < count($animetitles[1]); $i++) {
         $db->queryInsert(sprintf("INSERT INTO animetitles (anidbID, title, unixtime) VALUES (%d, %s, %d)", $animetitles[1][$i], $db->escapeString(html_entity_decode($animetitles[2][$i], ENT_QUOTES, 'UTF-8')), time()));
     }
     $db = NULL;
     gzclose($zh);
     if ($this->echooutput) {
         echo " done.\n";
     }
 }
开发者ID:ehsanguru,项目名称:nnplus,代码行数:28,代码来源:anidb.php

示例11: export_tracking

 public static function export_tracking()
 {
     global $wpdb;
     // only one export at a time
     if (get_option('podlove_tracking_export_all') !== false) {
         return;
     }
     update_option('podlove_tracking_export_all', $wpdb->get_var("SELECT COUNT(*) FROM " . \Podlove\Model\DownloadIntent::table_name()));
     update_option('podlove_tracking_export_progress', 0);
     $rowsPerQuery = 1000;
     $lastId = 0;
     $page = 0;
     $fp = gzopen(self::get_tracking_export_file_path(), 'w');
     do {
         // Keeping track of the $lastId is (roughly) a bajillion times faster than paging via LIMIT.
         $sql = "\n\t\t\t\tSELECT\n\t\t\t\t\tid,\n\t\t\t\t\tuser_agent_id,\n\t\t\t\t\tmedia_file_id,\n\t\t\t\t\trequest_id,\n\t\t\t\t\taccessed_at,\n\t\t\t\t\tsource,\n\t\t\t\t\tcontext,\n\t\t\t\t\tgeo_area_id,\n\t\t\t\t\tlat,\n\t\t\t\t\tlng\n\t\t\t\tFROM\n\t\t\t\t\t" . \Podlove\Model\DownloadIntent::table_name() . "\n\t\t\t\t\tWHERE id > " . (int) $lastId . "\n\t\t\t\tLIMIT 0, {$rowsPerQuery}";
         $rows = $wpdb->get_results($sql, ARRAY_A);
         foreach ($rows as $row) {
             gzwrite($fp, implode(",", $row) . "\n");
         }
         $lastId = $row['id'];
         $page++;
         update_option('podlove_tracking_export_progress', $page * $rowsPerQuery);
     } while (count($rows) > 0);
     gzclose($fp);
     delete_option('podlove_tracking_export_all');
     delete_option('podlove_tracking_export_progress');
     exit;
 }
开发者ID:johannes-mueller,项目名称:podlove-publisher,代码行数:29,代码来源:tracking_exporter.php

示例12: import

 public function import()
 {
     // It might not look like it, but it is actually compatible to
     // uncompressed files.
     $gzFileHandler = gzopen($this->file, 'r');
     Model\DownloadIntent::delete_all();
     Model\DownloadIntentClean::delete_all();
     $batchSize = 1000;
     $batch = array();
     while (!gzeof($gzFileHandler)) {
         $line = gzgets($gzFileHandler);
         list($id, $user_agent_id, $media_file_id, $request_id, $accessed_at, $source, $context, $geo_area_id, $lat, $lng) = explode(",", $line);
         $batch[] = array($user_agent_id, $media_file_id, $request_id, $accessed_at, $source, $context, $geo_area_id, $lat, $lng);
         if (count($batch) >= $batchSize) {
             self::save_batch_to_db($batch);
             $batch = [];
         }
     }
     gzclose($gzFileHandler);
     // save last batch to db
     self::save_batch_to_db($batch);
     \Podlove\Analytics\DownloadIntentCleanup::cleanup_download_intents();
     \Podlove\Cache\TemplateCache::get_instance()->setup_purge();
     wp_redirect(admin_url('admin.php?page=podlove_imexport_migration_handle&status=success'));
     exit;
 }
开发者ID:johannes-mueller,项目名称:podlove-publisher,代码行数:26,代码来源:tracking_importer.php

示例13: __parseLog

 protected function __parseLog($file)
 {
     $items = array();
     $last = null;
     if (is_readable($file)) {
         header('content-type: text/plain');
         if (preg_match('/.gz$/', $file)) {
             $handle = gzopen($file, "r");
             $data = gzread($handle, Symphony::Configuration()->get('maxsize', 'log'));
             gzclose($handle);
         } else {
             $data = file_get_contents($file);
         }
         $lines = explode(PHP_EOL, $data);
         // Skip log info:
         while (count($lines)) {
             $line = trim(array_shift($lines));
             if ($line == '--------------------------------------------') {
                 break;
             }
         }
         // Create items:
         foreach ($lines as $line) {
             preg_match('/^(.*?) > (.*)/', trim($line), $matches);
             // New entry:
             if (count($matches) == 3) {
                 $message = htmlentities($matches[2]);
                 $items[] = (object) array('timestamp' => DateTimeObj::get(__SYM_DATETIME_FORMAT__, strtotime($matches[1])), 'message' => $message);
             }
         }
         // Reverse order:
         $items = array_reverse($items);
     }
     return $items;
 }
开发者ID:symphonists,项目名称:logsdevkit,代码行数:35,代码来源:content.logs.php

示例14: gzcompressfile

/**
 * Compress file on disk
 *
 * @param	string	$source
 * @param	int		$level
 * @return	string|false
 */
function gzcompressfile($source, $level = false)
{
    if (file_exists($source)) {
        $dest = $source . '.gz';
        $mode = 'wb' . $level;
        $error = false;
        if ($fp_out = gzopen($dest, $mode)) {
            if ($fp_in = fopen($source, 'rb')) {
                while (!feof($fp_in)) {
                    gzwrite($fp_out, fread($fp_in, 4096));
                }
                fclose($fp_in);
            } else {
                $error = true;
            }
            gzclose($fp_out);
        } else {
            $error = true;
        }
        if ($error) {
            return false;
        }
        return $dest;
    }
    return false;
}
开发者ID:ahanjir07,项目名称:vivvo-dev,代码行数:33,代码来源:db_maintence.php

示例15: update_database

 public static function update_database()
 {
     set_time_limit(0);
     $outFile = self::get_upload_file_path();
     // for download_url()
     require_once ABSPATH . 'wp-admin/includes/file.php';
     $tmpFile = \download_url(self::SOURCE_URL);
     if (is_wp_error($tmpFile)) {
         die($tmpFile->get_error_message());
     }
     $zh = gzopen($tmpFile, 'rb');
     $h = fopen($outFile, 'wb');
     if (!$zh) {
         die('Downloaded file could not be opened for reading.');
     }
     if (!$h) {
         die(sprintf('Database could not be written (%s).', $outFile));
     }
     while (!gzeof($zh)) {
         fwrite($h, gzread($zh, 4096));
     }
     gzclose($zh);
     fclose($h);
     unlink($tmpFile);
     if (!self::is_db_valid()) {
         die(sprintf('Checksum does not match (%s).', $outFile));
     }
 }
开发者ID:johannes-mueller,项目名称:podlove-publisher,代码行数:28,代码来源:geo_ip.php


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