本文整理汇总了PHP中CFile::getLines方法的典型用法代码示例。如果您正苦于以下问题:PHP CFile::getLines方法的具体用法?PHP CFile::getLines怎么用?PHP CFile::getLines使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFile
的用法示例。
在下文中一共展示了CFile::getLines方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: CFile
function _read_cert_from_file()
{
$file = new CFile($this->license_cert_file);
$_rows = $file->getLines();
$this->cipher->setKey($this->license_key->license_key);
$certificate = $this->cipher->decrypt(end($_rows));
// the last row in the cert file is the certifcate data.
return is_string($certificate) ? trim($certificate) : '';
}
示例2: combinePreloadedPHP
/**
* Use avactis-system/admin/index.php?asc_action=combine_php
*/
function combinePreloadedPHP()
{
global $application;
$mm = $application->getInstance('Modules_Manager');
$sys_dir = CConf::get('system_dir');
$modules_dir = CConf::get('modules_dir');
$add_modules_dir = CConf::get('add_modules_dir');
$conf_core = CConf::get('preload_core_php');
$core_files = array();
foreach ($conf_core['files'] as $file) {
$core_files[] = realpath($sys_dir . $file);
}
if ($php = fopen($conf_core['combined_file'], 'w')) {
$this->addPhpFiles($php, array_filter($core_files));
$file = new CFile($application->appIni['PATH_TAGS_FILE']);
$tags = $file->getLines();
if (is_array($tags)) {
foreach ($tags as $tag) {
fwrite($php, "if (! function_exists('{$tag}')) {\n" . $application->getTagFunction($tag) . "\n} else { \nCTrace::inf('Registering tag: function \\'{$tag}\\' is already defined.'); }\n");
fwrite($php, "if (! function_exists('get{$tag}')) {\n" . $application->getTagGetFunction($tag) . "\n} else { \nCTrace::inf('Registering tag: function \\'get{$tag}\\' is already defined.'); }\n");
fwrite($php, "if (! function_exists('getVal{$tag}')) {\n" . $application->getTagGetValFunction($tag) . "\n} else { \nCTrace::inf('Registering tag: function \\'getVal{$tag}\\' is already defined.'); }\n");
}
fwrite($php, "\ndefine('GLOBAL_TAGS_REGISTERED', 'yes');\n");
}
fclose($php);
}
$modules_core = CConf::get('preload_modules_php');
$modules_files = array();
foreach ($modules_core['files'] as $file) {
if (is_file(realpath($add_modules_dir . $file))) {
$modules_files[] = realpath($add_modules_dir . $file);
} else {
$modules_files[] = realpath($modules_dir . $file);
}
}
foreach ($mm->moduleList as $module_name => $moduleInfo) {
// see using of COMPILED_MODULES_LOADED constant
if (isset($moduleInfo->constantsFile)) {
$const_file = realpath($modules_dir . $moduleInfo->directory . $moduleInfo->constantsFile);
if (!in_array($const_file, $modules_files) && !in_array($const_file, $core_files)) {
$modules_files[] = $const_file;
}
}
$queries_file = realpath($modules_dir . $moduleInfo->directory . 'dbqueries/common.php');
if (!in_array($queries_file, $modules_files) && !in_array($queries_file, $core_files)) {
$modules_files[] = $queries_file;
}
}
if ($php = fopen($modules_core['combined_file'], 'w')) {
$this->addPhpFiles($php, array_filter($modules_files));
fwrite($php, "\ndefine('COMPILED_MODULES_LOADED', 'yes');\n");
fclose($php);
}
$conf_modules_views_cz = CConf::get('preload_modules_views_cz_php');
$modules_files = array();
foreach ($conf_modules_views_cz['files'] as $file) {
if (is_file(realpath($add_modules_dir . $file))) {
$modules_files[] = realpath($add_modules_dir . $file);
} else {
$modules_files[] = realpath($modules_dir . $file);
}
}
if ($php = fopen($conf_modules_views_cz['combined_file'], 'w')) {
$this->addPhpFiles($php, array_filter($modules_files));
// var_dump($mm->czViewList, $mm->czAliasesList);
foreach (array_keys($mm->czViewList) as $view) {
fwrite($php, "\nif (! function_exists('{$view}')) {\n " . $mm->getViewFunction($view) . "\n}\nelse {\n CTrace::inf('Registering module view: function \\'{$view}\\' is already defined.');\n}\nif (! function_exists('get{$view}')) {\n " . $mm->getViewGetFunction($view) . "\n}\nelse {\n CTrace::inf('Registering module view: function \\'get{$view}\\' is already defined.');\n}");
}
foreach ($mm->czAliasesList as $alias_name => $view_name) {
fwrite($php, "\nif (! function_exists('{$alias_name}')) {\n " . $mm->getAliasFunction($alias_name, $view_name) . "\n}\nelse {\n CTrace::inf('Registering module alias: function \\'{$alias_name}\\' is already defined.');\n}\nif (! function_exists('get{$alias_name}')) {\n " . $mm->getAliasGetFunction($alias_name, $view_name) . "\n}\nelse {\n CTrace::inf('Registering module alias: function \\'get{$alias_name}\\' is already defined.');\n}");
}
fwrite($php, "\ndefine('MODULES_VIEWS_REGISTERED', 'yes');\n");
fclose($php);
}
}
示例3: saveHTAcontent
function saveHTAcontent($hta_content, $layout_path)
{
$return = array();
global $application;
$row_layout = _parse_cz_layout_ini_file($layout_path, true);
if (isset($row_layout['Site']['SitePath'])) {
$dest_file_path = $row_layout['Site']['SitePath'] . '.htaccess';
} else {
$dest_file_path = $application->appIni["PATH_ASC_ROOT"] . '.htaccess';
}
if (file_exists($dest_file_path) and !is_writable($dest_file_path)) {
$return[] = 'ERR_CANT_WRITE_FILE';
return $return;
}
if (!is_writable(dirname($dest_file_path))) {
$return[] = 'ERR_CANT_WRITE_FILE';
return $return;
}
# ,
if (file_exists($dest_file_path)) {
$file = new CFile($dest_file_path);
$lines = array_map("rtrim", $file->getLines());
$out_content = '';
$i = 0;
while ($i < count($lines) and $lines[$i] != REWRITE_BLOCK_IDENT_BEGIN) {
$out_content .= $lines[$i] . "\n";
$i++;
}
$out_content .= $hta_content;
$i++;
while ($i < count($lines) and $lines[$i] != REWRITE_BLOCK_IDENT_END) {
$i++;
}
$i++;
while ($i < count($lines)) {
$out_content .= $lines[$i] . "\n";
$i++;
}
} else {
$out_content = $hta_content;
}
asc_file_put_contents($dest_file_path, $out_content);
$layout_integrity = array('product_list' => $row_layout['ProductList'], 'product_info' => $row_layout['ProductInfo'], 'cms_page' => $row_layout['CMSPage']);
$htaccess_md5 = md5($hta_content);
$sefu_integrity = array('cats_template' => $application->getAppIni('SEFU_CATEGORY_QUERY_STRING_SUFFIX'), 'prods_template' => $application->getAppIni('SEFU_PRODUCT_QUERY_STRING_SUFFIX'), 'cms_template' => $application->getAppIni('SEFU_CMSPAGE_QUERY_STRING_SUFFIX'));
$sets_integrity = array('cats_prefix' => $this->settings['CATS_PREFIX'], 'prods_prefix' => $this->settings['PRODS_PREFIX'], 'cms_prefix' => $this->settings['CMS_PREFIX'], 'rewrite_scheme' => $this->settings['REWRITE_SCHEME']);
$tables = $this->getTables();
$integrity_table = $tables['mr_integrity']['columns'];
$query = new DB_Replace('mr_integrity');
$query->addReplaceValue($layout_path, $integrity_table['layout_path']);
$query->addReplaceValue(md5(serialize($layout_integrity)), $integrity_table['layout_md5']);
$query->addReplaceValue($dest_file_path, $integrity_table['htaccess_path']);
$query->addReplaceValue($htaccess_md5, $integrity_table['htaccess_md5']);
$query->addReplaceValue(md5(serialize($sefu_integrity)), $integrity_table['sefu_md5']);
$query->addReplaceValue(md5(serialize($sets_integrity)), $integrity_table['sets_md5']);
$application->db->PrepareSQL($query);
$application->db->DB_Exec();
// . , , .
$this->enableMRforLayout($layout_path);
return $return;
}
示例4: load
/**
* Load YAML into a PHP array from an instantiated object
*
* The load method, when supplied with a YAML stream (string or file path),
* will do its best to convert the YAML into a PHP array. Pretty simple.
* Usage:
* <code>
* $parser = new Spyc;
* $array = $parser->load('lucky.yml');
* print_r($array);
* </code>
* @access public
* @return array
* @param string $input Path of YAML file or string containing YAML
*/
function load($input)
{
// See what type of input we're talking about
// If it's not a file, assume it's a string
if (!empty($input) && strpos($input, "\n") === false && file_exists($input)) {
$file = new CFile($input);
$yaml = $file->getLines();
} else {
$yaml = explode("\n", $input);
}
// Initiate some objects and values
$base = new YAMLNode(1);
$base->indent = 0;
$this->_lastIndent = 0;
$this->_lastNode = $base->id;
$this->_inBlock = false;
$this->_isInline = false;
$this->_nodeId = 2;
foreach ($yaml as $linenum => $line) {
$ifchk = trim($line);
// If the line starts with a tab (instead of a space), throw a fit.
if (preg_match('/^(\\t)+(\\w+)/', $line)) {
$err = 'ERROR: Line ' . ($linenum + 1) . ' in your input YAML begins' . ' with a tab. YAML only recognizes spaces. Please reformat.';
die($err);
}
if ($this->_inBlock === false && empty($ifchk)) {
continue;
} elseif ($this->_inBlock == true && empty($ifchk)) {
$last =& $this->_allNodes[$this->_lastNode];
$last->data[key($last->data)] .= "\n";
} elseif ($ifchk[0] != '#' && substr($ifchk, 0, 3) != '---') {
// Create a new node and get its indent
$node = new YAMLNode($this->_nodeId);
$this->_nodeId++;
$node->indent = $this->_getIndent($line);
// Check where the node lies in the hierarchy
if ($this->_lastIndent == $node->indent) {
// If we're in a block, add the text to the parent's data
if ($this->_inBlock === true) {
$parent =& $this->_allNodes[$this->_lastNode];
$parent->data[key($parent->data)] .= trim($line) . $this->_blockEnd;
} else {
// The current node's parent is the same as the previous node's
if (isset($this->_allNodes[$this->_lastNode])) {
$node->parent = $this->_allNodes[$this->_lastNode]->parent;
}
}
} elseif ($this->_lastIndent < $node->indent) {
if ($this->_inBlock === true) {
$parent =& $this->_allNodes[$this->_lastNode];
$parent->data[key($parent->data)] .= trim($line) . $this->_blockEnd;
} elseif ($this->_inBlock === false) {
// The current node's parent is the previous node
$node->parent = $this->_lastNode;
// If the value of the last node's data was > or | we need to
// start blocking i.e. taking in all lines as a text value until
// we drop our indent.
$parent =& $this->_allNodes[$node->parent];
$this->_allNodes[$node->parent]->children = true;
if (is_array($parent->data)) {
$chk = '';
if (isset($parent->data[key($parent->data)])) {
$chk = $parent->data[key($parent->data)];
}
if ($chk === '>') {
$this->_inBlock = true;
$this->_blockEnd = ' ';
$parent->data[key($parent->data)] = str_replace('>', '', $parent->data[key($parent->data)]);
$parent->data[key($parent->data)] .= trim($line) . ' ';
$this->_allNodes[$node->parent]->children = false;
$this->_lastIndent = $node->indent;
} elseif ($chk === '|') {
$this->_inBlock = true;
$this->_blockEnd = "\n";
$parent->data[key($parent->data)] = str_replace('|', '', $parent->data[key($parent->data)]);
$parent->data[key($parent->data)] .= trim($line) . "\n";
$this->_allNodes[$node->parent]->children = false;
$this->_lastIndent = $node->indent;
}
}
}
} elseif ($this->_lastIndent > $node->indent) {
// Any block we had going is dead now
if ($this->_inBlock === true) {
$this->_inBlock = false;
//.........这里部分代码省略.........
示例5: array
function _httpsrequest($url, $URI, $http_method, $content_type = "", $body = "")
{
if ($this->passcookies && $this->_redirectaddr) {
$this->setcookies();
}
$headers = array();
$URI_PARTS = parse_url($URI);
if (empty($url)) {
$url = "/";
}
// GET ... header not needed for curl
//$headers[] = $http_method." ".$url." ".$this->_httpversion;
if (!empty($this->agent)) {
$headers[] = "User-Agent: " . $this->agent;
}
if (!empty($this->host)) {
$headers[] = "Host: " . $this->host;
}
if (!empty($this->accept)) {
$headers[] = "Accept: " . $this->accept;
}
if (!empty($this->referer)) {
$headers[] = "Referer: " . $this->referer;
}
if (!empty($this->cookies)) {
if (!is_array($this->cookies)) {
$this->cookies = (array) $this->cookies;
}
reset($this->cookies);
if (count($this->cookies) > 0) {
$cookie_str = 'Cookie: ';
foreach ($this->cookies as $cookieKey => $cookieVal) {
$cookie_str .= $cookieKey . "=" . urlencode($cookieVal) . "; ";
}
$headers[] = _byte_substr($cookie_str, 0, -2);
}
}
if (!empty($this->rawheaders)) {
if (!is_array($this->rawheaders)) {
$this->rawheaders = (array) $this->rawheaders;
}
while (list($headerKey, $headerVal) = each($this->rawheaders)) {
$headers[] = $headerKey . ": " . $headerVal;
}
}
if (!empty($content_type)) {
if ($content_type == "multipart/form-data") {
$headers[] = "Content-type: {$content_type}; boundary=" . $this->_mime_boundary;
} else {
$headers[] = "Content-type: {$content_type}";
}
}
if (!empty($body)) {
$headers[] = "Content-length: " . _byte_strlen($body);
}
if (!empty($this->user) || !empty($this->pass)) {
$headers[] = "Authorization: BASIC " . base64_encode($this->user . ":" . $this->pass);
}
for ($curr_header = 0; $curr_header < count($headers); $curr_header++) {
$cmdline_params .= " -H \"" . $headers[$curr_header] . "\"";
}
if (!empty($body)) {
$cmdline_params .= " -d \"{$body}\"";
}
if ($this->read_timeout > 0) {
$cmdline_params .= " -m " . $this->read_timeout;
}
$headerfile = tempnam($temp_dir, "sno");
$safer_URI = strtr($URI, "\"", " ");
// strip quotes from the URI to avoid shell access
exec($this->curl_path . " -D \"{$headerfile}\"" . $cmdline_params . " \"" . $safer_URI . "\"", $results, $return);
if ($return) {
$this->error = "Error: cURL could not retrieve the document, error {$return}.";
return false;
}
$results = implode("\r\n", $results);
$file = new CFile($headerfile);
$result_headers = $file->getLines();
$this->_redirectaddr = false;
unset($this->headers);
for ($currentHeader = 0; $currentHeader < count($result_headers); $currentHeader++) {
// if a header begins with Location: or URI:, set the redirect
if (preg_match("/^(Location: |URI: )/i", $result_headers[$currentHeader])) {
// get URL portion of the redirect
preg_match("/^(Location: |URI:)\\s+(.*)/", chop($result_headers[$currentHeader]), $matches);
// look for :// in the Location header to see if hostname is included
if (!preg_match("|\\:\\/\\/|", $matches[2])) {
// no host in the path, so prepend
$this->_redirectaddr = $URI_PARTS["scheme"] . "://" . $this->host . ":" . $this->port;
// eliminate double slash
if (!preg_match("|^/|", $matches[2])) {
$this->_redirectaddr .= "/" . $matches[2];
} else {
$this->_redirectaddr .= $matches[2];
}
} else {
$this->_redirectaddr = $matches[2];
}
}
if (preg_match("|^HTTP/|", $result_headers[$currentHeader])) {
//.........这里部分代码省略.........