本文整理汇总了PHP中gzwrite函数的典型用法代码示例。如果您正苦于以下问题:PHP gzwrite函数的具体用法?PHP gzwrite怎么用?PHP gzwrite使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了gzwrite函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: 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);
}
示例2: doWrite
function doWrite( $data, $uncompressedLength = false )
{
if ( $uncompressedLength )
return @gzwrite( $this->File, $data, $uncompressedLength );
else
return @gzwrite( $this->File, $data );
}
示例3: _write
/**
* @see Mage_Archive_Helper_File::_write()
*/
protected function _write($data)
{
$result = @gzwrite($this->_fileHandler, $data);
if (empty($result) && !empty($data)) {
throw new Mage_Exception('Failed to write data to ' . $this->_filePath);
}
}
示例4: _compress
private function _compress($file, $content, $gzip = true)
{
if ($gzip) {
$fh = gzopen($file, 'wb');
if (!$fh) {
throw new RuntimeException('Unable to open ' . $file . ' for writing.');
}
gzwrite($fh, $content);
gzclose($fh);
$newFile = $file . '.gz';
if (rename($file, $newFile)) {
self::$_tempFiles[] = $newFile;
} else {
throw new RuntimeException('Unable to rename ' . $file . ' to ' . $newFile . '.');
}
} else {
$newFile = $file . '.zip';
$zip = new ZipArchive();
$res = $zip->open($newFile, ZipArchive::CREATE);
if ($res === true) {
self::$_tempFiles[] = $newFile;
$zip->addFromString(basename($file), $content);
// In this case the original file isn't necessary
unlink($file);
$zip->close();
} else {
throw new RuntimeException('Got error code ' . $res . ' when attempting to open ' . 'zip archive ' . $newFile . '.');
}
}
// Just to make sure our subsequent assertions aren't false positives
$this->assertFalse(file_exists($file));
return $newFile;
}
示例5: writeLine
/**
* Writes a string to a stream, terminating it with an end-of-line
* symbol.
*
* @param string $string The string to write.
*/
public function writeLine($string)
{
if (!is_resource($this->_stream)) {
throw new Opl_Stream_Exception('Output stream is not opened.');
}
gzwrite($this->_stream, $bytes . self::$_eol);
}
示例6: 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;
}
示例7: get_content
function get_content($database, $table, $fp)
{
// get content of data
global $delimiter;
$result = mysql_db_query($database, "SELECT * FROM {$table}") or die("Cannot get content of table");
while ($row = mysql_fetch_row($result)) {
$insert = "INSERT INTO {$table} VALUES (";
// command for later SQL-restore
for ($j = 0; $j < mysql_num_fields($result); $j++) {
// content for later SQL-restore
if (!isset($row[$j])) {
$insert .= "NULL,";
} elseif (isset($row[$j])) {
$insert .= "'" . addslashes($row[$j]) . "',";
} else {
$insert .= "'',";
}
}
$insert = ereg_replace(",\$", "", $insert);
$insert .= "){$delimiter}\n";
// create row delimiter
gzwrite($fp, $insert);
// now write the complete content into backup file
}
gzwrite($fp, "\n\n");
mysql_free_result($result);
}
示例8: gzcompressfile
/**
* Pimcore
*
* This source file is available under two different licenses:
* - GNU General Public License version 3 (GPLv3)
* - Pimcore Enterprise License (PEL)
* Full copyright and license information is available in
* LICENSE.md which is distributed with this source code.
*
* @copyright Copyright (c) 2009-2016 pimcore GmbH (http://www.pimcore.org)
* @license http://www.pimcore.org/license GPLv3 and PEL
*/
function gzcompressfile($source, $level = null, $target = null)
{
// this is a very memory efficient way of gzipping files
if ($target) {
$dest = $target;
} else {
$dest = $source . '.gz';
}
$mode = 'wb' . $level;
$error = false;
$fp_out = gzopen($dest, $mode);
$fp_in = fopen($source, 'rb');
if ($fp_out && $fp_in) {
while (!feof($fp_in)) {
gzwrite($fp_out, fread($fp_in, 1024 * 512));
}
fclose($fp_in);
gzclose($fp_out);
} else {
$error = true;
}
if ($error) {
return false;
} else {
return $dest;
}
}
示例9: zip
/**
* Gzip a file
*
* @param string $sSourceFile Path to the source file
* @param string $sDestinationFile [optional] Path to save the zip contents.
* <p>
* If NULL, the default value is $this->getDefaultDestinationFilename($sSourceFile)
* </p>
*
* @return string Path to the saved zip file
*
* @throws FileOpenException if there is any error opening the source or output files
* @throws FileReadException if there is an error reading the source file
* @throws FileWriteException if there is an error writing the output file
*/
public function zip($sSourceFile, $sDestinationFile = null)
{
if ($sDestinationFile === null) {
$sDestinationFile = $this->getDefaultDestinationFilename($sSourceFile);
}
if (!($fh = fopen($sSourceFile, 'rb'))) {
throw new FileOpenException($sSourceFile);
}
if (!($zp = gzopen($sDestinationFile, 'wb9'))) {
throw new FileOpenException($sDestinationFile);
}
while (!feof($fh)) {
$data = fread($fh, static::READ_SIZE);
if (false === $data) {
throw new FileReadException($sSourceFile);
}
$sz = strlen($data);
if ($sz !== gzwrite($zp, $data, $sz)) {
throw new FileWriteException($sDestinationFile);
}
}
gzclose($zp);
fclose($fh);
return $sDestinationFile;
}
示例10: 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);
}
}
示例11: 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;
}
示例12: _write
/**
* {@inheritdoc}
*/
protected function _write($data)
{
$result = gzwrite($this->_fileHandler, $data);
if (empty($result) && !empty($data)) {
throw new \Magento\Framework\Exception\LocalizedException(new \Magento\Framework\Phrase('Failed to write data to %1', [$this->_filePath]));
}
}
示例13: 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;
}
示例14: dump
/**
* {@inheritdoc}
*/
public function dump($string)
{
if ($this->handle == null) {
$this->openFile();
}
gzwrite($this->handle, $string);
}
示例15: 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();
}