A. php如何讀取ini配置文件並按要求顯示
您看這樣符合您的要求嗎?
<?php
//設置ini文件名
$ini[0]='1.ini';
$ini[1]='2.ini';
//檢查第2個ini文件是否存在,如不存在,則創建之
if(!file_exists($ini[1])){
$file=fopen($ini[1],"a");
fwrite($file,'[config]');
fclose($file);
}
//獲取值
$values[0]=parse_ini_file($ini[0]);
$values[1]=parse_ini_file($ini[1]);
//獲取鍵
$keys[0]=array_keys($values[0]);
$keys[1]=array_keys($values[1]);
//寫入第2個ini文件
if(isset($_GET['section'])){
foreach($keys[0]as$key){
//如果在第1個ini文件中存在此鍵,
//而在第2個ini文件中不存在,則進行寫入
//這是為了避免寫入重復或多餘的鍵
if($_GET['section']===$keyAND!isset($values[1][$key])){
file_put_contents($ini[1]," $key=0",FILE_APPEND);
}
}
}
//重新獲取第2個ini文件的值
$values[1]=parse_ini_file($ini[1]);
//重新獲取第2個ini文件的鍵
$keys[1]=array_keys($values[1]);
//開始輸出為表格
echo'<tablestyle="border-collapse:collapse;border:1pxsolid#000000;">';
//遍歷所有鍵
foreach($keys[0]as$key){
//如果值為OK,而且在第二個ini文件中不存在,則顯示ok
if($values[0][$key]==='OK'AND!isset($values[1][$key])){
echo'<trstyle="border:1pxsolid#000000;">';
echo'<tdstyle="width:64px;border:1pxsolid#000000;">',$key,'</td>';
echo'<tdstyle="width:64px;border:1pxsolid#000000;"><ahref="?section=',$key,'"style="color:#000000;text-decoration:none;">ok</a></td>';
echo'</tr>';
}
//如果值為OK,而且在第二個ini文件中存在,則顯示no
elseif($values[0][$key]==='OK'ANDisset($values[1][$key])){
echo'<trstyle="border:1pxsolid#000000;">';
echo'<tdstyle="width:64px;border:1pxsolid#000000;">',$key,'</td>';
echo'<tdstyle="width:64px;border:1pxsolid#000000;">no</td>';
echo'</tr>';
}
}
echo'</table>';
//表格輸出完畢
//注銷所有變數
unset($ini,$file,$values,$keys,$key);
?>
PHP中,寫入文件必須要有寫入許可權的。但一般來說是沒問題的。如果報錯,就必須要配置相應的寫入許可權才行。
希望對您有幫助,謝謝!
B. php的配置文件php.ini文件在哪
你php環境安裝在哪裡,直接打開php目錄,php.ini就在根目錄下!
C. 這種php.ini的配置文件怎麼添加
你要確定自己修改的ini文件是不是php載入的ini,可以通過phpinfo()來查看Loaded Configuration File中載入的是不是自己修改的文件。
你載入memcached,你確定這個拓展在phpext文件夾下么?如果沒有,可以訪問http://windows.php.net/downloads/pecl/releases/memcache/3.0.8/ 去下載對應版本的拓展,然後放到相應位置
D. 如何配置php中的php.ini-development文件
如何配置php中的php.ini-development文件
首先將下載好的php安裝包解壓,打開文件夾,裡面看到的如圖
E. 如何找出PHP配置文件php.ini的路徑
直接在電腦里搜索:php.ini;就可以看見路徑;例如下面搜到的:路徑為:F:/xampp/php/php.ini
F. php如何修改ini文件
php中修改php配置文件(php.ini)的函數主要有四個函數:ini_get、ini_set、ini_get_all、ini_restore。其中ini_set和ini_get比較常用,下面分別做介紹。
(1)ini_get()
用來獲取配置文件的選項值.
這個函數相信很多人都使過,就是獲取配置文件中某一個選項的值,如果是true值就返回1,如果是false值就返回0,字元串就返回字元串。
php手冊中的例子:
<?php
echo 'post_max_size = ' . ini_get('post_max_size') . "\n";//最多能提交的文件大小
echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . "\n";
echo 'display_errors = ' . ini_get('display_errors') . "\n"; //顯示錯誤是否打開
echo 'register_globals = ' . ini_get('register_globals') . "\n";//全局變數是否打開
?>
輸出:
display_errors = 1
register_globals = 0
post_max_size = 8M
post_max_size+1 = 9
這個函數主要是為了獲取配置文件,可以方便很多操作。比如想操作字元串過濾,但是又不清楚magic_quotes_gpc有沒有打開,所以就可以這樣寫一個函數:
function stringFilter($str)
{
if (ini_get('magic_quotes_gpc)') {
return $str;
} else {
return addslashes($str);
}
}
當然,如果無法知道的全局變數是否打開,也可以定製這樣的函數:
function getGetVar($var)
{
if (ini_set('register_gobals')) {
return $var;
} else {
return $_GET['var'];
}
}
當然,可以做很多用途,自己慢慢體會。
(2)ini_set函數
設置php.ini中的某些變數值.
這個函數是設置選項中的值,在執行函數後生效,腳本結束的時候,這個設置也失效。不是所有的選項都能被改函數設置的。具體那些值能夠設置,可以查看手冊中的列表。
就是能夠設置php.ini中的選項值比如,display_error選項關閉了,但是要顯示程序中的錯誤信息,方便調試程序,那麼就可以使用這個函數:
ini_set("display_errors", "On");
那麼在這個頁面的程序都會顯示錯誤信息了,而且還可以使用error_reporting來設置顯示的錯誤信息級別。
如果需要增加腳本執行時間,那麼可以設置:
ini_set("max_execution_time", "180");
那麼腳本執行時間就由默認的30秒變為180秒,當然,你也可以使用set_time_limit()來設置。
其實把ini_set和ini_get結合使的話,非常好。比如想在配置文件里添加自己的包含文件路徑,但是有沒有許可權更改php.ini,那麼可以結合兩個函數:
ini_set('include_path',ini_get('include_path').':/your_include_dir:');
(3)ini_get_all
獲取所有的設置選項變數
把所有選項值以數組的形式返回,方便當phpinfo()無法使用的時候來使用。
手冊例子:
<?php
$inis = ini_get_all();
print_r($inis);
?>
部分輸出值:
Array
(
[allow_call_time_pass_reference] => Array
(
[global_value] => 1
[local_value] => 1
[access] => 6
)
[allow_url_fopen] => Array
(
[global_value] => 1
[local_value] => 1
[access] => 7
)
...
)
(4)ini_restore
恢復配置文件默認的值
就是恢復配置文件默認的值,當你使用ini_set設置後可以使用它來恢復。
資料來源:http://news.netshop168.com/cgal/1228249823.html
G. PHP怎麼設置PHP.INI文件的參數
當然不是所有參數都可以動態設置,如果可以那麼安全就得不到保證。
比如short_tag_open這個屬性。
如果非要改也可以考慮設置apache 這個程序運行用戶的許可權,然後PHP就可以去讀寫php.ini這個文件了。
H. php怎麼寫ini配置項
//用法ini_file(文件名,ini節名,鍵名key,鍵值)
//查詢時鍵值留空或設為null,函數返回鍵值
//若無ini節名,則ini節名設為nullini節名不包含[]
//查詢
//echoini_file('abc.ini','sectionA','key1');
//輸出對應的鍵值如123ds
//添加或更改
/*
if(ini_file('abc.ini','sectionA','key1','bnmv')
echo"成功添加或修改";
else
echo"操作失敗";
*/
functionini_file($inifilename,$mode=null,$key,$value=null){
//傳入參數為null時的默認值
$inifilename=$inifilename==null?'Application.ini':$inifilename;
$key=$key==null?'user':$key;
if(!file_exists($inifilename))
returnnull;
//讀取
$confarr=parse_ini_file($inifilename,true);
$newini="";
if($mode!=null)
{
//節名不為空
if($value==null)
{return@$confarr[$mode][$key]==null?null:$confarr[$mode][$key];}
else
{$YNedit=@$confarr[$mode][$key]==$value?false:true;//若傳入的值和原來的一樣,則不更改
@$confarr[$mode][$key]=$value;
}
}
else
{//節名為空
if($value==null)
{return@$confarr[$key]==null?null:$confarr[$key];}
else
{$YNedit=@$confarr[$key]==$value?false:true;//若傳入的值和原來的一樣,則不更改
@$confarr[$key]==$value;
$newini=$newini.$key."=".$value." ";
}
}
if(!$YNedit)
returntrue;
//更改
$Mname=array_keys($confarr);
$jshu=0;
foreach($confarras$k=>$v)
{
if(!is_array($v))
{$newini=$newini.$Mname[$jshu]."=".$v." ";$jshu+=1;}
else
{$newini=$newini.'['.$Mname[$jshu]."] ";//節名
$jshu+=1;
$jieM=array_keys($v);
$jieS=0;
foreach($vas$k2=>$v2)
{$newini=$newini.$jieM[$jieS]."=".$v2." ";$jieS+=1;}
}
}
if(($fi=fopen($inifilename,"w")))
{
flock($fi,LOCK_EX);//排它鎖
fwrite($fi,$newini);
flock($fi,LOCK_UN);
fclose($fi);
returntrue;
}
returnfalse;//寫文件失敗
}
ini_file('你的文件名','123','qew','456');
I. php讀取ini配置文件屬性
復制下面代碼把PHP.ini改成你的路徑就可以運行了
<?
$str=file_get_contents("php.ini");//讀取文件存到變數中
print_r($str);//列印變數
//如果要替換裡面的東西就執行下面代碼
$str=str_replace("要替換成的東西","替換成的東西",$str);
file_put_contents("php.ini",$str);//這是從新生成的PHP.ini文件
?>