在我們**搭建的過程中,使用者不可能會手動更改配置檔案,這時候就要求在**的後台中實現對設定設定資料庫配置的更改,在**的後台修改配置直接更新到**的配置檔案。
實現效果
思路:在前台使用者通過引入後台的配置檔案,file_get_contents("webconfig.php");
通過正則匹配,迴圈以form表單形式輸出配置檔案內容,然後在提交到post檔案,使用file_put_contents("webconfig")有時候需要把匹配出來的二維陣列列印一下,
今天還學了乙個新的知識:
foreach ($arr[1] as $key=>$value)
$arr是乙個二維陣列,迴圈陣列$arr[1] $value的同時,遍歷出$arr[2][$key]。
下面附上**:
webconfig.php 部分
define('host','127.0.0.1');
define('dbname','shop');
define('user','root');
define('pass','123456');
edit.php部分
<?php
header("content-type:text/html; charset=utf-8");
$str=file_get_contents("webconfig.php");
$pattern="/define\('(.*)','(.*)'\)/u"; //正則匹配,取消貪婪模式
preg_match_all($pattern,$str,$arr);
echo '";
post.php檔案
<?php
$host=$_post['host'];
$dbname=$_post['dbname'];
$user=$_post['user'];
$pass=$_post['pass'];
/*define('host','localhost');
define('dbname','cms');
define('user','root');
define('pass','123456');
*/$str='define(\'host\',\''.$host.'\');'.'define(\'dbname\',\''.$dbname.'\');'.'define(\'user\',\''.$user.'\');'.'define(\'pass\',\''.$pass.'\');';
echo $str;
file_put_contents("webconfig.php", $str);
php中使用資料庫
1.連線資料庫 dbhandle mysql connect localhost 使用者名稱 密碼 連線mysql資料庫 selected mysql select db 表名 dbhandle 選擇庫 2.查詢資料 result mysql query select from 表名 where 條...
使用資料庫來均勻非配任務
最近做的乙個專案中,有乙個計算模組非常的消耗cpu資源,所以就從開始就規劃成了乙個併發的模組。併發就難免要處理任務的分配,在這個專案中使用了乙個非常簡單的方式做了這個任務分配,後來在stack overflow上也看見這個方法。感覺還有意思的。具體的做法就是先將任務持久化到資料庫中,table的名字...
php 資料庫併發,PHP使用資料庫的併發問題
在並行系統中併發問題永遠不可忽視。儘管php語言原生沒有提供多執行緒機制,那並不意味著所有的操作都是執行緒安全的。尤其是在操作諸如訂單 支付等業務系統中,更需要注意運算元據庫的併發問題。接下來我通過乙個案例分析一下php運算元據庫時併發問題的處理問題。首先,我們有這樣一張資料表 mysql sele...