1

我有 2 个问题

1.) 如何编写update_defile($array_value){...}函数?

定义文件.php

<?php
  define("FIST_NAME", "something1");
  define("LAST_NAME", "something2");
  define("ADDRESS", "something3");
?>

“某事”不是可以改变每种方法的常数值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)。

我的数据库是甲骨文。我已经在数据库中保存了配置值,但经常将这些配置值用于我的应用程序。所以我从数据库中获取值并保存在define_file.php中作为提高性能(降低数据库调用)但我不确定我可以提高性能保持PHP文件中的配置值请解释。欢迎使用我的应用程序和其他替代解决方案来提高性能的最佳方法是什么。

4

3 回答 3

1

为什么你不能使用 session 来存储这些值,然后你可以从脚本中的任何地方访问和修改。

<?php
    session_start();
     $_SESSION["FIST_NAME"]= "something1";
    $_SESSION["LAST_NAME"]= "something2";
    $_SESSION["ADDRESS"]= "something3";


?>
于 2012-10-19T05:38:12.490 回答
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!');
      }

   }
于 2012-10-25T06:56:51.490 回答
0

您要做的是编辑文件。只需创建另一个 php 脚本:updater.php 它应该轮询数据库,获取值并更新 define_file.php 中的值

在此处查找 php 文件处理函数:http: //www.w3schools.com/php/php_file.asp

于 2012-10-19T05:36:16.127 回答