主从数据库的IP地址更换时,用到的自动替换功能

主从数据库的IP地址更换时,用到的自动替换功能
这也是工作中遇到的,自己想办法做的自动替换功能,节约很多的时间,办公中能自动的东西就尽量去自动化,节约时间,提高效率。

<!--?php 
/*
 * 在文件配置中大多数的数据库链接定义的格式是define("TEST_MASTER_DB_HOST", "192.168.1.1"); 现在要替换成define("TEST_MASTER_DB_HOST", "192.168.1.10");
 * 该PHP代码就是用来自动替换Ip地址
 */
$dbNameArr      =    array("testDb",'newDb');
$prefixArr[]    =    array('_MASTER_','_SLAVE_');
$dirPath        =    'D:/wamp/www/test/';
$pathArr        =    array();
$replaceArr     =    array();
// replace start ====================================================================
foreach ($prefixArr[0] as $v)
{
    foreach ($dbNameArr as $val)
    {
        $dbNameUp        =    strtoupper($val);
        $val1            =    'define("'.$dbNameUp.$v.'DB_HOST", "192.168.65.1");';
        $val2            =    'define("'.$dbNameUp.$v.'DB_HOST", "192.168.65.2");';
        $val3            =    'define("'.$dbNameUp.$v.'DB_HOST", "192.168.85.3");';
        $replaceArr[]    =    array($val1,$val3);
        $replaceArr[]    =    array($val2,$val3);
    }
}
foreach ($prefixArr[1] as $v)
{
    foreach ($dbNameArr as $val)
    {
        $dbNameUp        =    strtoupper($val);
        $val1            =    'define("'.$dbNameUp.$v.'DB_HOST", "192.168.65.10");';
        $val2            =    'define("'.$dbNameUp.$v.'DB_HOST", "192.168.65.20");';
        $val3            =    'define("'.$dbNameUp.$v.'DB_HOST", "192.168.85.30");';
        $replaceArr[]    =    array($val1,$val3);
        $replaceArr[]    =    array($val2,$val3);
    }
}
$pathArr    =    file_list($dirPath);
//print_r($pathArr);exit;
 
foreach ($pathArr as $filePath)
{
    replace($filePath,$replaceArr);
}
// replace end ====================================================================
 
function replace($filePath,$replaceArr)
{
    $oldData    =    file_get_contents($filePath);
    foreach ($replaceArr as $v)
    {
        $oldData    =    str_replace($v[0],$v[1],$oldData);
    }
    file_put_contents($filePath,$oldData);
}
function file_list($path)
{
    global $pathArr;
    if ($handle = opendir($path))
    {
        while (false !== ($file = readdir($handle)))
        {
            if ($file != "." &amp;&amp; $file != "..")
            {
                //echo $path.": ".$file."&lt;br&gt;";
                if (is_dir($path."/".$file))
                {
                    file_list($path."/".$file);
                }
                else
                {
                    $pathArr[]    = $path."/".$file;
                }
            }
        }
    }
    return $pathArr;
}
?-->

2010年7月31号写的学习PHP代码笔记

刚刚看到自己的QQ邮箱记事本里面存储着2010年7月31号撰写的PHP代码,那时我还在江苏苏州的一家公司做企业站的seo工作,一个月拿着1500的工资,没有电脑,住着工厂的宿舍,(当时的原因是因为和家里的关系搞的有点紧张,一个人跑到了苏州工作),周末双休的时候我就会去镇上的网吧里面玩,当时就下载PDF的php与mysql教程,当时学了几天能看懂一些,不知道哪些是重点。
现在再回头看下这些代码我觉得一部分是经常会用到的,这个each函数好像不是经常用到,所以书上的东西一部分是相当过时的,我还是比较喜欢看视频,容易理解,速度快,再加上在公司的练习,能力很快能上来!

如下的代码可创建一个以产品名称做关键字,以价格作为值的相关数组
$prices=array('tires'=>100, 'oil'=>10, 'spark plugs'=>4);
foreach($prices as $key=>$value)
echo $key.'=>'.$value.'<br/>';
while($element=each($prices))
{
echo $element['key'];
echo '-';
echo $element['value'];
echo '<br/>';
}
也可以使用下面的代码输出
while( list($product, $price)=each($prices))
echo "$product, $price<br/>";
当需要重新二次使用each()函数时,使用reset($prices);重新到数组的开始处
reset($prices);
while( list($product, $price)=each($prices))
echo "$product, $price<br/>";
二维数组
for ($row=0; $row<3; $row++)
{
for($column=0; $coulmn<3; $column++)
{
echo '|'.$products[$row][$column];
}
echo <br/>;
}
三维数组
$categories=array(array(array('car_tir','tires','100')
                        array('car_oil','oil','10')
                        array('car_spk','spk','4')
                        )
                  array(array('van_tir','tires','20')
                        array('van_oil','oil','12')
                        array('van_spk','spk','6')
                        )
                  array(array('trk_tir','tires','150')
                        array('trk_oil','oil','15')
                        array('trk_spk','spk','6')
                        )
                  )
打印三维数组
for($layer=0, $layer<3,$layer++)
{echo $layer;
     for($row=0, $row<3, $row++)
     {echo $row;
          for($column=0; $coulmn<3; $column++)
          {echo'|'.$categories[$layer][$row][$column].'<br/>';
          }
     }
}
排序函数 sort($products);

硬着头皮开始学codeigniter

官方推荐了一个stblog,慢慢开始看把

update time 2011-12-18 08:24:42

开始写这个标题的时间是2011年12月11日,现在是2011年12月18日,整整过了7天,我根本就没有心思静下心来去看别人写的代码,这让我自己太失望了。

公司的那些个项目想要整一个ci框架去开发不太现实,因为大家都不用,所以最好的方案就是自己写一个基于MVC模式的公司框架。

之前写了好几个网站,说实话,代码的东西,我感觉扩展性能实在是太差。代码的实现过程完全是我自己想怎么写就怎么写,没能够有一个规范性的东西去约束。

用现成的php框架去开发东西的公司很少,如果要用,那么必定是自己改装过的或者完全就是自己写的,为公司定制的。

再说回stblog,我昨晚看了它的源代码,很多地方的代码量确实不少,但结构算是很清晰了,非常想弄懂。

完全看不懂,非常郁闷,但又不相信自己很差,希望自己能够愈战愈勇。

//查
$query = $this->db->query("要执行的 SQL");
$query = $this->db->query("要执行的 SQL");
foreach ($query->result_array() as $row)
{
  echo $row['title'];
  echo $row['name'];
  echo $row['body'];
}
 
//插
$data = array(
               'title' => 'My title' ,
               'name' => 'My Name' ,
               'date' => 'My date'
            );
$this->db->insert('mytable', $data); 
//改
$data = array(
  'title' => $title,
  'name' => $name,
  'date' => $date
);
$this->db->update('mytable', $data, "id = 4");
//删
$this->db->delete('mytable', "id = 4"); 
/*
开启缓存后可以使用$this->db->cache_delete_all()删除缓存
数据库事务处理
CI的session是存储在cookie中的
设置session
*/
$newdata = array(
                   'username'  => 'johndoe',
                   'email'     => 'johndoe@some-site.com',
                   'logged_in' => TRUE
               );
    $this->session->set_userdata($newdata);
//删除session
$newdata = array(
  'username'  => 'johndoe',
  'email'     => 'johndoe@some-site.com',
  'logged_in' => TRUE
  );
$this->session->set_userdata($newdata);

即将踏上南下之路

从去年的十月一号到今天五月十八,229天,7个半月,在家待业,不得已必须要走出去,学会独立生活。

独立生活对我来说是相当的困难,交际能力差、吃穿冷暖不会自理,生活对我来说就是一道巨大的难题。

不过轻松的来看也没什么,处理好三件事,交朋友、有工作、有理想,工作和理想都有了、就是交朋友有点困难,这点需要多努力就OK!

最近一周就准备南下学习PHP,初步定为文豆PHP培训,谷歌了一下也没有多少人讨论这个学校教学质量,看中的就是时间相对较短、学费也不是很贵。

中睿的学费要7800+6个月生活费,多迪的要9000多学费+生活费。

家里就给了11000块,目前看来只能选择文豆。