通过另一个php文件定义值编辑

时间:2012-10-19 05:16:08

标签: php performance oracle

我有两个问题

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文件中请解释。什么是提高性能的最佳方式我的应用程序和其他替代解决方案欢迎。

3 个答案:

答案 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