我有两个问题
1。)如何写update_defile($array_value){...}
函数?
define_file.php
<?php
define("FIST_NAME", "something1");
define("LAST_NAME", "something2");
define("ADDRESS", "something3");
?>
“something”不是一个可以改变每个方法Call(update_defile($array_value)
值集
$array_value = ("FIST_NAMe" => "duleep", "LAST_NAME" => "dissnayaka", "AGE" => "28" );
调用方法后(update_defile($ array_value){.....})“define_file.php” 文件想看起来像波纹管
<?php
define("FIST_NAME", "duleep");
define("LAST_NAME", "dissnayaka");
define("ADDRESS", "something3");
define("AGE", "28");
?>
2)。
我的数据库是Oracle。我已经在数据库中保存了配置值,但经常将这些配置值用于我的应用程序。所以我得到了价值形式的数据库并保存在define_file.php中作为提高性能(降低数据库调用),但我不确定我是否可以提高性能保持配置值在PHP文件中请解释。什么是提高性能的最佳方式我的应用程序和其他替代解决方案欢迎。
答案 0 :(得分:1)
为什么你不能使用session来存储这些值,那么你可以从任何地方访问和修改 在脚本中。
<?php
session_start();
$_SESSION["FIST_NAME"]= "something1";
$_SESSION["LAST_NAME"]= "something2";
$_SESSION["ADDRESS"]= "something3";
?>
答案 1 :(得分:1)
public function update($form_config_arr)
{
if( (is_readable($config_file_path)) && is_writable($config_file_path))
{
if(!$config_old_file_content = file_get_contents($config_file_path))
{
throw new Exception('Unable to open file!');
}
$i = 0;
$config_old_arr = array();
$config_new_arr = array();
foreach ($form_config_arr as $constant => $value){
$config_old_line = $this->getLine($constant);
$config_old_arr[$i] = $config_old_line;
if(($value == 'true') || ($value == 'false')){
$config_new_arr[$i] = "define ( '$constant', $value );\n";
}else{
$config_new_arr[$i] = "define ( '$constant', '$value' );\n";
}
$i++;
}
$config_new_file_content = str_replace($config_old_arr, $config_new_arr, $config_old_file_content);
$new_content_file_write = file_put_contents($config_file_path, $config_new_file_content);
foreach ($config_new_arr as $constant => $value)
{
echo $value.'<br/>';
}
return true;
}else{
throw new Exception('Access denied for '.$config_file_path);
return false;
}
}
/**
*
* @param string $constant
* @return string
*/
private function getLine($constant)
{
$match_line = '';
$config_file = fopen($config_file_path, "r");
if($config_file)
{
//Output a line of the file until the end is reached
$i = 0;
while(!feof($config_file))
{
$i++;
$config_old_line = fgets($config_file);
$pos = strpos($config_old_line, $constant);
if( $pos !== false )
{
$match_line= $config_old_line;
}
}
fclose($config_file);
return $match_line;
}else{
throw new Exception('Unable to open file!');
}
}
答案 2 :(得分:0)
您要做的是编辑文件。 只需创建另一个PHP脚本:updater.php 它应该轮询数据库,获取值并更新define_file.php中的值
在这里查找php文件处理函数:http://www.w3schools.com/php/php_file.asp