• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP stream_filter_append函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: __construct

 public function __construct($file, array $options = array())
 {
     $defaultOptions = array('length' => 0, 'fromEncoding' => null);
     $this->options = array_merge($defaultOptions, $options);
     if ($file instanceof SplFileInfo) {
         $file = $file->getPathname();
     }
     if ($file instanceof \Guzzle\Stream\StreamInterface) {
         $this->guzzleStream = $file;
         $file = $file->getStream();
     }
     if (is_resource($file)) {
         $this->fileHandle = $file;
         $this->closeFileHandleOnDestruct = false;
         if (null !== $this->options['fromEncoding']) {
             throw new Exception('Source encoding can only be specified if constructed with file path');
         }
     } else {
         if (is_string($file)) {
             $this->fileHandle = @fopen($file, 'r');
             if ($this->fileHandle === false) {
                 throw new InvalidArgumentException("Could not open csv file with path: '{$file}'");
             }
             if (null !== $this->options['fromEncoding']) {
                 stream_filter_append($this->fileHandle, 'convert.iconv.' . $this->options['fromEncoding'] . '/UTF-8');
             }
             $this->closeFileHandleOnDestruct = true;
         } else {
             throw new InvalidArgumentException('You must provide either a stream or filename to the csv iterator, you provided a ' . gettype($file));
         }
     }
     parent::__construct(array_diff_key($options, $defaultOptions));
 }
开发者ID:suramon,项目名称:itertools,代码行数:33,代码来源:FileCsvIterator.php


示例2: encodeStream

 /**
  * Encodes the given stream with the given encoding using stream filters
  * 
  * If the given encoding stream filter is not available, an Exception
  * will be thrown.
  *
  * @param string $stream
  * @param string $encoding
  * @param int $LineLength; defaults to Mime::LINE_LENGTH (72)
  * @param string $eol EOL string; defaults to Mime::EOL (\n)
  * @return string
  */
 public static function encodeStream($stream, $encoding, $lineLength = self::LINE_LENGTH, $eol = self::EOL)
 {
     if (!self::isEncodingSupported($encoding)) {
         throw new Exception("Not supported encoding: {$encoding}");
     }
     switch ($encoding) {
         case self::BASE64:
             $filter = 'convert.base64-encode';
             break;
         case self::QUOTED_PRINTABLE:
             $filter = 'convert.quoted-printable-encode';
             break;
         default:
             $filter = null;
     }
     if ($filter !== null) {
         $params = array('line-length' => $lineLength, 'line-break-chars' => $eol);
         $streamFilter = stream_filter_append($stream, $filter, STREAM_FILTER_READ, $params);
     }
     $content = stream_get_contents($stream);
     if ($filter !== null) {
         stream_filter_remove($streamFilter);
     }
     fclose($stream);
     return $content;
 }
开发者ID:vincenta,项目名称:stato,代码行数:38,代码来源:Mime.php


示例3: runGiven

 /**
  * Handle a "given" step.
  *
  * @param array  &$world    Joined "world" of variables.
  * @param string $action    The description of the step.
  * @param array  $arguments Additional arguments to the step.
  *
  * @return mixed The outcome of the step.
  */
 public function runGiven(&$world, $action, $arguments)
 {
     switch ($action) {
         case 'an incoming message on host':
             $world['hostname'] = $arguments[0];
             $world['type'] = 'Incoming';
             break;
         case 'the SMTP sender address is':
             $world['sender'] = $arguments[0];
             break;
         case 'the SMTP recipient address is':
             $world['recipient'] = $arguments[0];
             break;
         case 'the client address is':
             $world['client'] = $arguments[0];
             break;
         case 'the hostname is':
             $world['hostname'] = $arguments[0];
             break;
         case 'the unmodified message content is':
             $world['infile'] = $arguments[0];
             $world['fp'] = fopen($world['infile'], 'r');
             break;
         case 'the modified message template is':
             $world['infile'] = $arguments[0];
             $world['fp'] = fopen($world['infile'], 'r');
             stream_filter_register('addresses', 'Horde_Kolab_Filter_Helper_AddressFilter');
             stream_filter_append($world['fp'], 'addresses', STREAM_FILTER_READ, array('recipient' => $world['recipient'], 'sender' => $world['sender']));
             break;
         default:
             return $this->notImplemented($action);
     }
 }
开发者ID:jubinpatel,项目名称:horde,代码行数:42,代码来源:StoryTestCase.php


示例4: __construct

 /**
  * Constructor
  *
  * @param   io.streams.InputStream in
  */
 public function __construct(InputStream $in)
 {
     $this->in = Streams::readableFd($in);
     if (!stream_filter_append($this->in, 'zlib.inflate', STREAM_FILTER_READ)) {
         throw new IOException('Could not append stream filter');
     }
 }
开发者ID:melogamepay,项目名称:xp-framework,代码行数:12,代码来源:InflatingInputStream.class.php


示例5: RawAction

 public function RawAction()
 {
     $dataUriRegex = "/data:image\\/([\\w]*);([\\w]*),/i";
     //running a regex against a data uri might be slow.
     //Streams R fun.
     //  To avoid lots of processing before needed, copy just the first bit of the incoming data stream to a variable for checking.  rewind the stream after.  Part of the data will be MD5'd for storage.
     // note for
     $body = $this->detectRequestBody();
     $tempStream = fopen('php://temp', 'r+');
     stream_copy_to_stream($body, $tempStream, 500);
     rewind($tempStream);
     $uriHead = stream_get_contents($tempStream);
     $netid = isset($_SERVER['NETID']) ? $_SERVER['NETID'] : "notSet";
     $filename = $netid;
     $matches = array();
     // preg_match_all returns number of matches.
     if (0 < preg_match_all($dataUriRegex, $uriHead, $matches)) {
         $extension = $matches[1][0];
         $encoding = $matches[2][0];
         $start = 1 + strpos($uriHead, ",");
         $imageData = substr($uriHead, $start);
         // THERES NO ARRAY TO STRING CAST HERE PHP STFU
         $filename = (string) ("./cache/" . $filename . "-" . md5($imageData) . "." . $extension);
         $fileHandle = fopen($filename, "c");
         stream_filter_append($fileHandle, 'convert.base64-decode', STREAM_FILTER_WRITE);
         stream_copy_to_stream($body, $fileHandle, -1, $start);
     }
 }
开发者ID:CU-WebTech,项目名称:mimeograph,代码行数:28,代码来源:ImageController.php


示例6: sgfun

function sgfun($filter, $params = null)
{
    $fp = fopen('php://memory', 'w');
    $filter = @stream_filter_append($fp, $filter, STREAM_FILTER_WRITE, $params);
    if ($filter === false) {
        fclose($fp);
        $error = error_get_last() + array('message' => '');
        throw new RuntimeException('Unable to access built-in filter: ' . $error['message']);
    }
    // append filter function which buffers internally
    $buffer = '';
    sgappend($fp, function ($chunk) use(&$buffer) {
        $buffer .= $chunk;
        // always return empty string in order to skip actually writing to stream resource
        return '';
    }, STREAM_FILTER_WRITE);
    $closed = false;
    return function ($chunk = null) use($fp, $filter, &$buffer, &$closed) {
        if ($closed) {
            throw new RuntimeException('Unable to perform operation on closed stream');
        }
        if ($chunk === null) {
            $closed = true;
            $buffer = '';
            fclose($fp);
            return $buffer;
        }
        // initialize buffer and invoke filters by attempting to write to stream
        $buffer = '';
        fwrite($fp, $chunk);
        // buffer now contains everything the filter function returned
        return $buffer;
    };
}
开发者ID:Finzy,项目名称:stageDB,代码行数:34,代码来源:FilterFns.php


示例7: csp_decryptStream

 /**
  * csp_decryptStream
  * 
  * Entschlüsselt einen Filestream
  * Nach dem Beispiel von http://www.php.net/manual/en/filters.encryption.php 
  *
  * @param resource	&$fp		Filepointer des zu entschlüsselnden Filestreams
  * @param string		$crypto_key	Verwendeter Schlussel (Passphrase)
  */
 function csp_decryptStream(&$fp, $crypto_key)
 {
     $iv = substr(md5('iv#' . $crypto_key, true), 0, 8);
     $key = substr(md5('pass1#' . $crypto_key, true) . md5('pass2#' . $crypto_key, true), 0, 24);
     $opts = array('iv' => $iv, 'key' => $key);
     stream_filter_append($fp, 'mdecrypt.tripledes', STREAM_FILTER_WRITE, $opts);
 }
开发者ID:petervoe,项目名称:Cloud-Storage-Pool,代码行数:16,代码来源:Datastorage.php


示例8: doBackup

 protected function doBackup($stream, $tables, $gzip = false)
 {
     $db = Am_Di::getInstance()->db;
     $stream_filter = null;
     $hash = null;
     $len = 0;
     if ($gzip) {
         $hash = hash_init('crc32b');
         // gzip file header
         fwrite($stream, $this->getGzHeader());
         if (!($stream_filter = stream_filter_append($stream, "zlib.deflate", STREAM_FILTER_WRITE, self::COMPRESSION_LEVEL))) {
             throw new Am_Exception_InternalError("Could not attach gzencode filter to output stream");
         }
     }
     $this->out($stream, "### aMember Pro " . AM_VERSION . " database backup\n", $len, $hash);
     $this->out($stream, "### Created: " . date('Y-m-d H:i:s') . "\n", $len, $hash);
     foreach ($tables as $table) {
         $this->out($stream, "\n\nDROP TABLE IF EXISTS {$table};\n", $len, $hash);
         $r = $db->selectRow("SHOW CREATE TABLE {$table}");
         $this->out($stream, $r['Create Table'] . ";\n", $len, $hash);
         $q = $db->queryResultOnly("SELECT * FROM {$table}");
         while ($a = $db->fetchRow($q)) {
             $fields = join(',', array_keys($a));
             $values = join(',', array_map(array($db, 'escape'), array_values($a)));
             $this->out($stream, "INSERT INTO {$table} ({$fields}) VALUES ({$values});\n", $len, $hash);
         }
         $db->freeResult($q);
     }
     if ($stream_filter) {
         stream_filter_remove($stream_filter);
         fwrite($stream, $this->getGzFooter($len, $hash));
     }
     return $stream;
 }
开发者ID:subashemphasize,项目名称:test_site,代码行数:34,代码来源:BackupProcessor.php


示例9: __construct

 /**
  * Constructor
  *
  * @param   io.streams.InputStream in
  */
 public function __construct(InputStream $in)
 {
     $this->in = Streams::readableFd($in);
     if (!stream_filter_append($this->in, 'bzip2.decompress', STREAM_FILTER_READ)) {
         throw new \io\IOException('Could not append stream filter');
     }
 }
开发者ID:xp-framework,项目名称:core,代码行数:12,代码来源:Bz2DecompressingInputStream.class.php


示例10: __construct

 public function __construct(puzzle_stream_StreamInterface $stream)
 {
     // Skip the first 10 bytes
     $stream = new puzzle_stream_LimitStream($stream, -1, 10);
     $resource = puzzle_stream_GuzzleStreamWrapper::getResource($stream);
     stream_filter_append($resource, 'zlib.inflate', STREAM_FILTER_READ);
     $this->stream = new puzzle_stream_Stream($resource);
 }
开发者ID:puzzlehttp,项目名称:streams,代码行数:8,代码来源:InflateStream.php


示例11: __construct

 public function __construct(StreamInterface $stream)
 {
     // Skip the first 10 bytes
     $stream = new LimitStream($stream, -1, 10);
     $resource = StreamWrapper::getResource($stream);
     stream_filter_append($resource, 'zlib.inflate', STREAM_FILTER_READ);
     parent::__construct(new Stream($resource));
 }
开发者ID:kirill-konshin,项目名称:psr7,代码行数:8,代码来源:InflateStream.php


示例12: testEscape

 /**
  * @dataProvider escapeProvider
  */
 public function testEscape($in, $expected)
 {
     $stream = fopen('php://temp', 'r+');
     stream_filter_append($stream, self::FILTER_ID, STREAM_FILTER_READ);
     fwrite($stream, $in);
     rewind($stream);
     $this->assertEquals($expected, stream_get_contents($stream));
 }
开发者ID:raz0rsdge,项目名称:horde,代码行数:11,代码来源:FilterDataTest.php


示例13: __construct

 /**
  * Constructor
  *
  * @param   io.streams.OutputStream out
  * @param   int lineLength limit maximum line length
  */
 public function __construct(OutputStream $out, $lineLength = 0)
 {
     $params = $lineLength ? array('line-length' => $lineLength, 'line-break-chars' => "\n") : array();
     $this->out = Streams::writeableFd($out);
     if (!stream_filter_append($this->out, 'convert.base64-encode', STREAM_FILTER_WRITE, $params)) {
         throw new IOException('Could not append stream filter');
     }
 }
开发者ID:melogamepay,项目名称:xp-framework,代码行数:14,代码来源:Base64OutputStream.class.php


示例14: __construct

 /**
  * @param callable $func filter proc
  * @param callable $ctor constructor
  * @param callable $dtor destructor
  */
 function __construct(callable $func, callable $ctor = null, callable $dtor = null)
 {
     /*
      * We don't have pipe(2) support, so we'll use socketpair(2) instead.
      */
     list($this->input, $this->output) = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP);
     stream_filter_append($this->input, "atick\\IO\\StreamFilter", STREAM_FILTER_WRITE, compact("func", "ctor", "dtor"));
     stream_set_blocking($this->output, false);
 }
开发者ID:m6w6,项目名称:atick,代码行数:14,代码来源:Filter.php


示例15: parse

 /**
  * Parse the file and yield $closure for each line
  * @param callable(RemoteZipCodeObject) $closure
  */
 public function parse($url, Closure $closure)
 {
     $handle = fopen($url, 'r');
     stream_filter_append($handle, 'convert.iconv.ISO-8859-15/UTF-8', STREAM_FILTER_READ);
     while (($data = fgetcsv($handle, 0, "\t")) !== false) {
         list($zip_code, $zip_name, $municipality_code, $municipality_name, $category) = $data;
         $closure(new RemoteZipCodeObject($zip_code, $zip_name, $municipality_code, $municipality_name, $category));
     }
 }
开发者ID:phaza,项目名称:laravel-norwegian-zip-codes,代码行数:13,代码来源:RemoteZipCodeFileParser.php


示例16: _httpChunkedDecode

 protected function _httpChunkedDecode($body)
 {
     if (stripos($this->headers['Transfer-Encoding'], 'chunked') === false) {
         return $body;
     }
     $stream = fopen('data://text/plain,' . urlencode($body), 'r');
     stream_filter_append($stream, 'dechunk');
     return trim(stream_get_contents($stream));
 }
开发者ID:mdx-dev,项目名称:li3_charizard,代码行数:9,代码来源:RawResponse.php


示例17: readFile

 /**
  * Read a file and pass it through the filter.
  *
  * @param string          $filename
  * @param LoggerInterface $logger
  */
 private function readFile($filename, $logger)
 {
     $input = fopen(__DIR__ . '/../data/encodings/' . $filename, 'r');
     stream_filter_append($input, FilterEncoding::class, STREAM_FILTER_READ, ['logger' => $logger]);
     while (!feof($input)) {
         fread($input, 8192);
     }
     fclose($input);
 }
开发者ID:fisharebest,项目名称:lib-gedcom,代码行数:15,代码来源:FilterEncodingTest.php


示例18: testStagedRead

function testStagedRead()
{
    printf("---%s---\n", __FUNCTION__);
    $f = fopen('php://memory', 'r+');
    stream_filter_append($f, 'testfilter', STREAM_FILTER_READ);
    fwrite($f, 'abcd');
    rewind($f);
    var_dump(fread($f, 4));
    var_dump(fread($f, 4));
}
开发者ID:badlamer,项目名称:hhvm,代码行数:10,代码来源:unbuffered_user_filter.php


示例19: __construct

 function __construct($_file)
 {
     $this->tar_size = 0;
     $this->file = $_file;
     $this->create_time = time();
     //gzip header
     fwrite($this->file, "‹" . pack("V", $this->create_time) . "");
     $this->filter = stream_filter_append($this->file, 'zlib.deflate', STREAM_FILTER_WRITE, -1);
     $this->hctx = hash_init('crc32b');
 }
开发者ID:CDFLS,项目名称:CWOJ,代码行数:10,代码来源:tgz.lib.php


示例20: testBodyFilter

 /**
  * @dataProvider bodyFilterProvider()
  */
 public function testBodyFilter($data, $result)
 {
     $params = new stdClass();
     $stream = fopen('php://temp', 'r+');
     stream_filter_register('horde_smtp_body', 'Horde_Smtp_Filter_Body');
     stream_filter_append($stream, 'horde_smtp_body', STREAM_FILTER_WRITE, $params);
     fwrite($stream, $data);
     fclose($stream);
     $this->assertEquals($result, $params->body);
 }
开发者ID:horde,项目名称:horde,代码行数:13,代码来源:FilterBodyTest.php



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP stream_filter_prepend函数代码示例发布时间:2022-05-23
下一篇:
PHP stream_copy_to_stream函数代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap