本文整理汇总了PHP中fopen函数的典型用法代码示例。如果您正苦于以下问题:PHP fopen函数的具体用法?PHP fopen怎么用?PHP fopen使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了fopen函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
protected function execute(InputInterface $input, OutputInterface $output)
{
$path = $input->getArgument('path');
if (!file_exists($path)) {
$output->writeln("{$path} is not a file or a path");
}
$filePaths = [];
if (is_file($path)) {
$filePaths = [realpath($path)];
} elseif (is_dir($path)) {
$filePaths = array_diff(scandir($path), array('..', '.'));
} else {
$output->writeln("{$path} is not known.");
}
$generator = new StopwordGenerator($filePaths);
if ($input->getArgument('type') === 'json') {
echo json_encode($this->toArray($generator->getStopwords()), JSON_NUMERIC_CHECK | JSON_UNESCAPED_UNICODE);
echo json_last_error_msg();
die;
$output->write(json_encode($this->toArray($generator->getStopwords())));
} else {
$stopwords = $generator->getStopwords();
$stdout = fopen('php://stdout', 'w');
echo 'token,freq' . PHP_EOL;
foreach ($stopwords as $token => $freq) {
fputcsv($stdout, [utf8_encode($token), $freq]) . PHP_EOL;
}
fclose($stdout);
}
}
示例2: getRandomBytes
private function getRandomBytes($count)
{
$bytes = '';
if (function_exists('openssl_random_pseudo_bytes') && strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') {
// OpenSSL slow on Win
$bytes = openssl_random_pseudo_bytes($count);
}
if ($bytes === '' && @is_readable('/dev/urandom') && ($hRand = @fopen('/dev/urandom', 'rb')) !== FALSE) {
$bytes = fread($hRand, $count);
fclose($hRand);
}
if (strlen($bytes) < $count) {
$bytes = '';
if ($this->randomState === null) {
$this->randomState = microtime();
if (function_exists('getmypid')) {
$this->randomState .= getmypid();
}
}
for ($i = 0; $i < $count; $i += 16) {
$this->randomState = md5(microtime() . $this->randomState);
if (PHP_VERSION >= '5') {
$bytes .= md5($this->randomState, true);
} else {
$bytes .= pack('H*', md5($this->randomState));
}
}
$bytes = substr($bytes, 0, $count);
}
return $bytes;
}
示例3: save
function save($file, $data)
{
mkdir_recursive($file);
$fh = fopen($file, 'w') or print "can't open file";
fwrite($fh, $data);
fclose($fh);
}
示例4: parseFile
/**
*
* @param string $path
* The file containg a MIME message
* @return \Swift_Message
*/
public function parseFile($path)
{
$fp = fopen($path, "rb");
$message = $this->parseStream($fp);
fclose($fp);
return $message;
}
示例5: graph_3D_Pie
function graph_3D_Pie($file, $table)
{
$handle = fopen("{$file}", "w");
fwrite($handle, "<chart>\n");
fwrite($handle, "\t<chart_data>\n");
fwrite($handle, "\t\t<row>\n");
fwrite($handle, "\t\t\t<null/>\n");
foreach ($table as $key => $value) {
if ($value != 0) {
fwrite($handle, "\t\t\t<string>{$key}</string>\n");
}
}
fwrite($handle, "\t\t</row>\n");
fwrite($handle, "\t\t<row>\n");
fwrite($handle, "\t\t\t<string></string>\n");
foreach ($table as $key => $value) {
if ($value != 0) {
fwrite($handle, "\t\t\t<number>{$value}</number>\n");
}
}
fwrite($handle, "\t\t</row>\n");
fwrite($handle, "\t</chart_data>\n");
fwrite($handle, "\t<chart_type>3d pie</chart_type>\n");
fwrite($handle, "\t<chart_value color='000000' alpha='65' font='arial' bold='true' size='10' position='inside' prefix='' suffix='' decimals='0' separator='' as_percentage='true' />\n");
fwrite($handle, "\t<draw>\n");
fwrite($handle, "\t\t<text color='000000' alpha ='50' size='25' x='-50' y='0' width='500' height='50' h_align='center' v_align='middle'>{$title}</text>\n");
fwrite($handle, "\t<\\draw>\n");
fwrite($handle, "\t<legend_label layout='horizontal' bullet='circle' font='arial' bold='true' size='12' color='ffffff' alpha='85' />\n");
fwrite($handle, "\t<legend_rect x='0' y='45' width='50' height='210' margin='10' fill_color='ffffff' fill_alpha='10' line_color='000000' line_alpha='0' line_thickness='0' />\n");
fwrite($handle, "</chart>\n");
fclose($handle);
}
示例6: __construct
/**
* Constructor
*
* @param array $data the form data as name => value
* @param string|null $suffix the optional suffix for the tmp file
* @param string|null $suffix the optional prefix for the tmp file. If null 'php_tmpfile_' is used.
* @param string|null $directory directory where the file should be created. Autodetected if not provided.
* @param string|null $encoding of the data. Default is 'UTF-8'.
*/
public function __construct($data, $suffix = null, $prefix = null, $directory = null, $encoding = 'UTF-8')
{
if ($directory === null) {
$directory = self::getTempDir();
}
$suffix = '.fdf';
$prefix = 'php_pdftk_fdf_';
$this->_fileName = tempnam($directory, $prefix);
$newName = $this->_fileName . $suffix;
rename($this->_fileName, $newName);
$this->_fileName = $newName;
$fields = '';
foreach ($data as $key => $value) {
// Create UTF-16BE string encode as ASCII hex
// See http://blog.tremily.us/posts/PDF_forms/
$utf16Value = mb_convert_encoding($value, 'UTF-16BE', $encoding);
/* Also create UTF-16BE encoded key, this allows field names containing
* german umlauts and most likely many other "special" characters.
* See issue #17 (https://github.com/mikehaertl/php-pdftk/issues/17)
*/
$utf16Key = mb_convert_encoding($key, 'UTF-16BE', $encoding);
// Escape parenthesis
$utf16Value = strtr($utf16Value, array('(' => '\\(', ')' => '\\)'));
$fields .= "<</T(" . chr(0xfe) . chr(0xff) . $utf16Key . ")/V(" . chr(0xfe) . chr(0xff) . $utf16Value . ")>>\n";
}
// Use fwrite, since file_put_contents() messes around with character encoding
$fp = fopen($this->_fileName, 'w');
fwrite($fp, self::FDF_HEADER);
fwrite($fp, $fields);
fwrite($fp, self::FDF_FOOTER);
fclose($fp);
}
示例7: SimpleLog
function SimpleLog()
{
global $loglevel, $logfile;
if (!empty($loglevel)) {
if ($loglevel == 'fatal') {
$this->loglevel = 5;
} else {
if ($loglevel == 'error') {
$this->loglevel = 4;
} else {
if ($loglevel == 'warn') {
$this->loglevel = 3;
} else {
if ($loglevel == 'debug') {
$this->loglevel = 2;
} else {
if ($loglevel == 'info') {
$this->loglevel = 1;
}
}
}
}
}
}
if (!empty($logfile)) {
$this->logfile = $logfile;
}
$this->fp = @fopen($this->logfile, 'a+');
if (!$this->fp) {
$this->nolog = true;
}
}
示例8: __construct
/**
* Class Constructor
*
* @param array|string|resource $streamOrUrl Stream or URL to open as a stream
* @param string|null $mode Mode, only applicable if a URL is given
* @return void
* @throws Zend_Log_Exception
*/
public function __construct($streamOrUrl, $mode = null)
{
// Setting the default
if (null === $mode) {
$mode = 'a';
}
if (is_resource($streamOrUrl)) {
if (get_resource_type($streamOrUrl) != 'stream') {
// require_once 'Zend/Log/Exception.php';
throw new Zend_Log_Exception('Resource is not a stream');
}
if ($mode != 'a') {
// require_once 'Zend/Log/Exception.php';
throw new Zend_Log_Exception('Mode cannot be changed on existing streams');
}
$this->_stream = $streamOrUrl;
} else {
if (is_array($streamOrUrl) && isset($streamOrUrl['stream'])) {
$streamOrUrl = $streamOrUrl['stream'];
}
if (!($this->_stream = @fopen($streamOrUrl, $mode, false))) {
// require_once 'Zend/Log/Exception.php';
$msg = "\"{$streamOrUrl}\" cannot be opened with mode \"{$mode}\"";
throw new Zend_Log_Exception($msg);
}
}
$this->_formatter = new Zend_Log_Formatter_Simple();
}
示例9: lookup
/**
* Returns a stock by symbol (case-insensitively) else false if not found.
*/
function lookup($symbol)
{
// reject symbols that start with ^
if (preg_match("/^\\^/", $symbol)) {
return false;
}
// reject symbols that contain commas
if (preg_match("/,/", $symbol)) {
return false;
}
// open connection to Yahoo
$handle = @fopen("http://download.finance.yahoo.com/d/quotes.csv?f=snl1&s={$symbol}", "r");
if ($handle === false) {
// trigger (big, orange) error
trigger_error("Could not connect to Yahoo!", E_USER_ERROR);
exit;
}
// download first line of CSV file
$data = fgetcsv($handle);
if ($data === false || count($data) == 1) {
return false;
}
// close connection to Yahoo
fclose($handle);
// ensure symbol was found
if ($data[2] === "0.00") {
return false;
}
// return stock as an associative array
return ["symbol" => $data[0], "name" => $data[1], "price" => $data[2]];
}
示例10: createSettingsFile
public static function createSettingsFile($dbHostname, $dbName, $dbUsername, $dbPassword, $tablePrefix)
{
$encryptionSalt = Utils::generateRandomAlphanumericStr("DDD");
$dbUsername = Utils::sanitize($dbUsername);
$dbPassword = Utils::sanitize($dbPassword);
$tablePrefix = Utils::sanitize($tablePrefix);
$content = <<<END
<?php
\$dbHostname = '{$dbHostname}';
\$dbName = '{$dbName}';
\$dbUsername = '{$dbUsername}';
\$dbPassword = '{$dbPassword}';
\$dbTablePrefix = '{$tablePrefix}';
\$encryptionSalt = '{$encryptionSalt}';
END;
$file = __DIR__ . "/../../settings.php";
$handle = @fopen($file, "w");
if ($handle) {
fwrite($handle, $content);
fclose($handle);
return array(true, "");
}
// no such luck! we couldn't create the file on the server. The user will need to do it manually
return array(false, $content);
}
示例11: isXliff
public static function isXliff($stringData = null, $fullPathToFile = null)
{
self::_reset();
$info = array();
if (!empty($stringData) && empty($fullPathToFile)) {
$stringData = substr($stringData, 0, 1024);
} elseif (empty($stringData) && !empty($fullPathToFile)) {
$info = FilesStorage::pathinfo_fix($fullPathToFile);
$file_pointer = fopen("{$fullPathToFile}", 'r');
// Checking Requirements (By specs, I know that xliff version is in the first 1KB)
$stringData = fread($file_pointer, 1024);
fclose($file_pointer);
} elseif (!empty($stringData) && !empty($fullPathToFile)) {
//we want to check extension and content
$info = FilesStorage::pathinfo_fix($fullPathToFile);
}
self::$fileType['info'] = $info;
//we want to check extension also if file path is specified
if (!empty($info) && !self::isXliffExtension()) {
//THIS IS NOT an xliff
return false;
}
// preg_match( '|<xliff\s.*?version\s?=\s?["\'](.*?)["\'](.*?)>|si', $stringData, $tmp );
if (!empty($stringData)) {
return array($stringData);
}
return false;
}
示例12: createOutputFile
public function createOutputFile()
{
if (!is_resource($this->getFileStream())) {
$this->setFileStream(fopen($this->createFileName(), "w+"));
fwrite($this->getFileStream(), $this->header());
}
}
示例13: writeData
public function writeData()
{
$fn = __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . "data" . DIRECTORY_SEPARATOR . $this->file_name;
$fd = fopen($fn, "w");
fwrite($fd, $this->data);
fclose($fd);
}
示例14: initialize
/**
* Initializes this logger.
*
* Available options:
*
* - file: The file path or a php wrapper to log messages
* You can use any support php wrapper. To write logs to the Apache error log, use php://stderr
* - format: The log line format (default to %time% %type% [%priority%] %message%%EOL%)
* - time_format: The log time strftime format (default to %b %d %H:%M:%S)
* - dir_mode: The mode to use when creating a directory (default to 0777)
* - file_mode: The mode to use when creating a file (default to 0666)
*
* @param sfEventDispatcher $dispatcher A sfEventDispatcher instance
* @param array $options An array of options.
*
* @return Boolean true, if initialization completes successfully, otherwise false.
*/
public function initialize(sfEventDispatcher $dispatcher, $options = array())
{
if (!isset($options['file'])) {
throw new sfConfigurationException('You must provide a "file" parameter for this logger.');
}
if (isset($options['format'])) {
$this->format = $options['format'];
}
if (isset($options['time_format'])) {
$this->timeFormat = $options['time_format'];
}
if (isset($options['type'])) {
$this->type = $options['type'];
}
$dir = dirname($options['file']);
if (!is_dir($dir)) {
mkdir($dir, isset($options['dir_mode']) ? $options['dir_mode'] : 0777, true);
}
$fileExists = file_exists($options['file']);
if (!is_writable($dir) || $fileExists && !is_writable($options['file'])) {
throw new sfFileException(sprintf('Unable to open the log file "%s" for writing.', $options['file']));
}
$this->fp = fopen($options['file'], 'a');
if (!$fileExists) {
chmod($options['file'], isset($options['file_mode']) ? $options['file_mode'] : 0666);
}
return parent::initialize($dispatcher, $options);
}
示例15: addFieldToModule
public function addFieldToModule($field)
{
global $log;
$fileName = 'modules/Settings/Vtiger/models/CompanyDetails.php';
$fileExists = file_exists($fileName);
if ($fileExists) {
require_once $fileName;
$fileContent = file_get_contents($fileName);
$placeToAdd = "'website' => 'text',";
$newField = "'{$field}' => 'text',";
if (self::parse_data($placeToAdd, $fileContent)) {
$fileContent = str_replace($placeToAdd, $placeToAdd . PHP_EOL . ' ' . $newField, $fileContent);
} else {
if (self::parse_data('?>', $fileContent)) {
$fileContent = str_replace('?>', '', $fileContent);
}
$fileContent = $fileContent . PHP_EOL . $placeToAdd . PHP_EOL . ' ' . $newField . PHP_EOL . ');';
}
$log->info('Settings_Vtiger_SaveCompanyField_Action::addFieldToModule - add line to modules/Settings/Vtiger/models/CompanyDetails.php ');
} else {
$log->info('Settings_Vtiger_SaveCompanyField_Action::addFieldToModule - File does not exist');
return FALSE;
}
$filePointer = fopen($fileName, 'w');
fwrite($filePointer, $fileContent);
fclose($filePointer);
return TRUE;
}