آموزش خواندن و نوشتن( یا ایجاد) فایل ini در پی اچ پی php = create or make or write and read ini file in php
دوشنبه, ۱۷ فروردين ۱۳۹۴، ۱۱:۲۶ ق.ظ
آموزش ایجاد فایل ini در php :
خواند فایل ini در php :
آموزش رو با مثال دنبال کنید :
در مسیر C:\xampp\htdocs\ini فایلی به اسم sample.ini با محتوای زیر ایجاد کن :
حالا فایلی به نام index.php با محتوای زیر ایجاد کن :
حالا با مرورگر fireFox اینو اجرا بگیر :
منبع :
اگه خونه ی اول آرایه رو هم بخوای تکی بدست بیاری :
خروجی: 1
-------
اطلاعات بیشتر بر گرفته از پرومیکرز:
تجزیه یک فایل ini
parse_ini_file
parse_ini_file — تجزیه یک فایل ini
شرح
این تابع همه ی اطلاعات یک فایل ini را به صورت یک آرایه ی بر می گرداند .
پارامتر ها
filename
فایل ini ای که می خواهید آنرا تجزیه و تحلیل کنید .
process_sections
اگر مقدار این پارامتر را برابر true قرار دهید یک آرایه ی چند بعدی بر می گرداند با نام section ها ( بخش هایی که در [] هستند ) و setting ( داده ها ) مقدار این پارامتر به صورت پیش فرض برابر false است .
scanner_mode
دو مقدار INI_SCANNER_NORMAL و INI_SCANNER_RAW را می تواند داشته باشد .
INI_SCANNER_NORMAL مقدار پیش فرض است
اگر INI_SCANNER_RAW انتخاب شود مقدار ها( ارزش های متغیر ها ) تجزیه نخواهند شد .
برگرداندن مقدار ها
یک آرایه ی چند بعدی را در صورت موفقیت بر می گرداند اگر موفق نباشد مقدار false بر گردانده می شود .
یک مثال
فایل زیر را با نام sample.ini در نظر بگیرید :
در فایل php زیر می خواهیم فایل را تجزیه کنیم:
*** define تا اونجایی که من می دونم یک ثابت ایجاد می کنه الان ما یک ثابت ایجاد کردیم با اسم BIRD و مقدارش رو برابر Dodo bird قرار دادیم
ثابت ها بر خلاف متغیر های برای فراخونیشون نیاز به $ نیست و فقط اسمش رو بنویسیم فراخوانی می شن
برای مثال
خروجی این کد چیزی شبیه به این میشه:
***همونطوری که می بینید مقدار BIRD به جای Dodo bird هست
منبع اصلی :
http://php.net/manual/en/function.parse-ini-file.php
http://www.promakers.ir/showthread.php?tid=8956&pid=98665#pid98665
<?php//@URL http://stackoverflow.com/questions/1268378/create-ini-file-write-values-in-php?answertab=votes#answer-1268642function write_ini_file($assoc_arr, $path, $has_sections = FALSE){$content = "";if ($has_sections) {foreach ($assoc_arr as $key => $elem) {$content .= "[" . $key . "]\n";foreach ($elem as $key2 => $elem2) {if (is_array($elem2)) {for ($i = 0; $i < count($elem2); $i++) {$content .= $key2 . "[] = \"" . $elem2[$i] . "\"\n";}} else if ($elem2 == "") $content .= $key2 . " = \n";else $content .= $key2 . " = \"" . $elem2 . "\"\n";}}} else {foreach ($assoc_arr as $key => $elem) {if (is_array($elem)) {for ($i = 0; $i < count($elem); $i++) {$content .= $key . "[] = \"" . $elem[$i] . "\"\n";}} else if ($elem == "") $content .= $key . " = \n";else $content .= $key . " = \"" . $elem . "\"\n";}}if (!$handle = fopen($path, 'w')) {return false;}$success = fwrite($handle, $content);fclose($handle);return $success;}// write your array now in a .ini file$sampleData = array('first' => array('first-1' => 1,'first-2' => 2,'first-3' => 3,'first-4' => 4,'first-5' => 5,),'second' => array('second-1' => 1,'second-2' => 2,'second-3' => 3,'second-4' => 4,'second-5' => 5,));write_ini_file($sampleData, './data.ini', true);
خواند فایل ini در php :
آموزش رو با مثال دنبال کنید :
در مسیر C:\xampp\htdocs\ini فایلی به اسم sample.ini با محتوای زیر ایجاد کن :
[Cars]
var1 = 1
var2 = 2
<?php
// Parse without sections
$ini_array = parse_ini_file("sample.ini");
print_r($ini_array);
// Parse with sections
$ini_array = parse_ini_file("sample.ini", true);
print_r($ini_array);
?>
حالا با مرورگر fireFox اینو اجرا بگیر :
http://localhost/ini/
خودش index.php رو اجرا می کنه و خروجی میشه چیزی شبیه این :Array ( [var1] => 1 [var2] => 2 ) Array ( [Cars] => Array ( [var1] => 1 [var2] => 2 ) )
منبع :
اگه خونه ی اول آرایه رو هم بخوای تکی بدست بیاری :
echo($ini_array["var1"]);
خروجی: 1
-------
اطلاعات بیشتر بر گرفته از پرومیکرز:
تجزیه یک فایل ini
parse_ini_file
parse_ini_file — تجزیه یک فایل ini
شرح
کد PHP:
array parse_ini_file ( string $filename [, bool $process_sections = false [, int $scanner_mode = INI_SCANNER_NORMAL ]] )
پارامتر ها
filename
فایل ini ای که می خواهید آنرا تجزیه و تحلیل کنید .
process_sections
اگر مقدار این پارامتر را برابر true قرار دهید یک آرایه ی چند بعدی بر می گرداند با نام section ها ( بخش هایی که در [] هستند ) و setting ( داده ها ) مقدار این پارامتر به صورت پیش فرض برابر false است .
scanner_mode
دو مقدار INI_SCANNER_NORMAL و INI_SCANNER_RAW را می تواند داشته باشد .
INI_SCANNER_NORMAL مقدار پیش فرض است
اگر INI_SCANNER_RAW انتخاب شود مقدار ها( ارزش های متغیر ها ) تجزیه نخواهند شد .
برگرداندن مقدار ها
یک آرایه ی چند بعدی را در صورت موفقیت بر می گرداند اگر موفق نباشد مقدار false بر گردانده می شود .
یک مثال
فایل زیر را با نام sample.ini در نظر بگیرید :
; This is a sample configuration file
; Comments start with ';', as in php.ini
[first_section]
one = 1
five = 5
animal = BIRD
[second_section]
path = "/usr/local/bin"
URL = "http://www.example.com/~username"
[third_section]
phpversion[] = "5.0"
phpversion[] = "5.1"
phpversion[] = "5.2"
phpversion[] = "5.3"
<?php
define('BIRD', 'Dodo bird');
// Parse without sections
$ini_array = parse_ini_file("sample.ini");
print_r($ini_array);
// Parse with sections
$ini_array = parse_ini_file("sample.ini", true);
print_r($ini_array);
?>
*** define تا اونجایی که من می دونم یک ثابت ایجاد می کنه الان ما یک ثابت ایجاد کردیم با اسم BIRD و مقدارش رو برابر Dodo bird قرار دادیم
ثابت ها بر خلاف متغیر های برای فراخونیشون نیاز به $ نیست و فقط اسمش رو بنویسیم فراخوانی می شن
برای مثال
echo BIRD;
خروجی این کد چیزی شبیه به این میشه:
Array
(
[one] => 1
[five] => 5
[animal] => Dodo bird
[path] => /usr/local/bin
[URL] => http://www.example.com/~username
[phpversion] => Array
(
[0] => 5.0
[1] => 5.1
[2] => 5.2
[3] => 5.3
)
)
Array
(
[first_section] => Array
(
[one] => 1
[five] => 5
[animal] => Dodo bird
)
[second_section] => Array
(
[path] => /usr/local/bin
[URL] => http://www.example.com/~username
)
[third_section] => Array
(
[phpversion] => Array
(
[0] => 5.0
[1] => 5.1
[2] => 5.2
[3] => 5.3
)
)
)
***همونطوری که می بینید مقدار BIRD به جای Dodo bird هست
منبع اصلی :
http://php.net/manual/en/function.parse-ini-file.php
http://www.promakers.ir/showthread.php?tid=8956&pid=98665#pid98665
۹۴/۰۱/۱۷