में मान लिखें, मुझे कोई तरीका नहीं मिल रहा है जो आसानी से मुझे एक नई फाइल बनाने देता है, इसे एक आईएनआई फ़ाइल के रूप में मानता है (php.ini या simiilar ... प्रति उपयोगकर्ता के लिए एक अलग आईएनआई फ़ाइल नहीं), और PHP का उपयोग कर मान बनाएं/हटाएं। PHP एक आईएनआई फ़ाइल बनाने और मूल्यों को पढ़ने/लिखने/हटाने के लिए कोई आसान तरीका प्रदान नहीं करता है। अभी तक, यह सब सिर्फ "पढ़ा" है - प्रविष्टियां बनाने या कुंजियों/मानों को जोड़ना के बारे में कुछ भी नहीं।आईएनआई फ़ाइल बनाएं, PHP
उत्तर
पीएचपी दस्तावेज की टिप्पणियों से कोड स्निपेट निम्नलिखित मिला:
function 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;
}
उपयोग:
$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);
गुड लक!
'if (! Fwrite ($ हैंडल, $ सामग्री)) {', फ़ाइल हैंडल बंद होना चाहिए। –
अनुभागों का उपयोग न करने पर कोड में भी एक त्रुटि है, परिवर्तनीय $ key2 $ key – kjetilh
होना चाहिए यह एक आधिकारिक समाधान नहीं है कि आपकी टिप्पणी स्टैक ओवरफ़्लो की आधिकारिक टिप्पणी नहीं है। –
मैं इसे कैसे अच्छी तरह से काम समर्थन नहीं कर सकता है, लेकिन वहाँ parse_ini_file()
के विपरीत लागू करने के लिए कुछ सुझाव है (अर्थात write_ini_file
है, जो एक मानक PHP समारोह नहीं है) parse_ini_file
के लिए दस्तावेज़ पृष्ठ पर।
आप parse_ini_file
एक फ़ाइल से मान भेजने का उन्हें वापस पढ़ने के लिए write_ini_file
उपयोग कर सकते हैं - कि parse_ini_file
रिटर्न साहचर्य सरणी, संशोधित करने, और उसके बाद write_ini_file
के साथ वापस फाइल करने के लिए संशोधित सरणी लिखें।
क्या यह आपके लिए काम करता है?
:
else {
foreach ($assoc_arr as $key=>$elem) {
if(is_array($elem))
{
for($i=0;$i<count($elem);$i++)
{
$content .= $key2."[] = \"".$elem[$i]."\"\n";
}
}
else if($elem=="") $content .= $key2." = \n";
else $content .= $key2." = \"".$elem."\"\n";
}
}
$ कुंजी 2 $ कुंजी द्वारा प्रतिस्थापित किया जाना चाहिए या आप अपने .ini
+1, हां, आप सही/समर्थित समाधान –
नाशपाती में खाली चाबियाँ मिलेगा दो (इकाई का परीक्षण) संकुल जो करना है कार्य आप कर रहे हैं लालसा के लिए:
- Config_Lite - आदर्श यदि आप केवल चाहते
.ini
फ़ाइलों - Config - भी
.php
और.xml
फ़ाइलों
पढ़ता है मैं नहीं बल्कि अपने ही लिखने की तुलना में अच्छी तरह से परीक्षण किया कोड का उपयोग करेंगे।
+1 सही हैं 0 स्निपेट विफल रहता है यदि $ array_name में बहु-आयामी सरणी है। यही है, अगर अभिभावक सरणी की गहराई 3 या अधिक है। –
मैं इस का उपयोग करें और यह
function listINIRecursive($array_name, $indent = 0)
{
global $str;
foreach ($array_name as $k => $v)
{
if (is_array($v))
{
for ($i=0; $i < $indent * 5; $i++){ $str.= " "; }
$str.= " [$k] \r\n";
listINIRecursive($v, $indent + 1);
}
else
{
for ($i=0; $i < $indent * 5; $i++){ $str.= " "; }
$str.= "$k = $v \r\n";
}
}
}
यह पाठ एक .ini फ़ाइल
के लिए – Tivie
ऊपर उत्तरों के आधार पर करने के लिए लिखने के लिए मैं इस वर्ग है कि उपयोगी हो सकता है लिखा रिटर्न काम करने के लिए लगता है। PHP 5.3 के लिए लेकिन पिछले संस्करणों के लिए आसानी से अनुकूलित किया जा सकता है।
class Utils
{
public static function write_ini_file($assoc_arr, $path, $has_sections)
{
$content = '';
if (!$handle = fopen($path, 'w'))
return FALSE;
self::_write_ini_file_r($content, $assoc_arr, $has_sections);
if (!fwrite($handle, $content))
return FALSE;
fclose($handle);
return TRUE;
}
private static function _write_ini_file_r(&$content, $assoc_arr, $has_sections)
{
foreach ($assoc_arr as $key => $val) {
if (is_array($val)) {
if($has_sections) {
$content .= "[$key]\n";
self::_write_ini_file_r(&$content, $val, false);
} else {
foreach($val as $iKey => $iVal) {
if (is_int($iKey))
$content .= $key ."[] = $iVal\n";
else
$content .= $key ."[$iKey] = $iVal\n";
}
}
} else {
$content .= "$key = $val\n";
}
}
}
}
- 1. boost :: program_options - आईएनआई फ़ाइल
- 2. सर्वश्रेष्ठ PHP कॉन्फ़िगरेशन/आईएनआई कक्षा?
- 3. कौन सा PHP आईएनआई फ़ाइल मेरे डब्ल्यूएएमपी वेबपृष्ठ का उपयोग करता है?
- 4. क्या आईएनआई फ़ाइल को संशोधित किए बिना PHP क्ली इंटरफ़ेस से एक्सटेंशन लोड करना संभव है?
- 5. बनाएं php
- 6. आईएनआई-विकल्प CASE_SPLIT अजीब मॉडल
- 7. PHP एक्सटेंशन कैसे बनाएं
- 8. PHP रूट निर्देशिका में एक txt फ़ाइल बनाएं और सहेजें
- 9. PHP निर्यातित .xls फ़ाइल में बोल्ड टेक्स्ट कैसे बनाएं
- 10. php में मेरी वेबसाइट की लॉग फ़ाइल कैसे बनाएं?
- 11. php में एक सुरक्षित फ़ाइल अपलोड स्क्रिप्ट कैसे बनाएं?
- 12. php दिए गए आकार के साथ फ़ाइल बनाएं
- 13. PHP का उपयोग करके सीएसवी फ़ाइल बनाएं और इसे
- 14. PHP के साथ Tabdelimited फ़ाइल से संरचित सरणी कैसे बनाएं?
- 15. एक PHP फ़ंक्शन कैसे बनाएं केवल फ़ाइल में दिखाई दे?
- 16. फ़ाइल चेतावनी बनाएं, लक्ष्य
- 17. टेक्स्ट फ़ाइल बनाएं और
- 18. फ़ाइल स्पैस कैसे बनाएं?
- 19. आईओएस फ़ाइल बनाएं
- 20. .mbtiles फ़ाइल कैसे बनाएं?
- 21. डीएमजी फ़ाइल बनाएं
- 22. PHP में टोकननाइज़र कैसे बनाएं?
- 23. PHP: ऑब्जेक्ट वैरिएबल कैसे बनाएं?
- 24. एडोब इलस्ट्रेटर फ़ाइल से थंबनेल बनाएं?
- 25. फ़ाइल बनाएं अगर फ़ाइल मौजूद नहीं है
- 26. फ़ाइल को डिस्क लिखने के बिना PHP क्लास ZipArchive का उपयोग करके एक ज़िप फ़ाइल बनाएं?
- 27. विंडोज बैच फ़ाइल PHP फ़ाइल
- 28. php कमांड लाइन
- 29. क्यूटी: आईएनआई फाइलों और टिप्पणियों के साथ विंडोज़ पर क्यूसेटिंग
- 30. एन्क्रिप्टेड जार फ़ाइल कैसे बनाएं?
जब आप "प्रति उपयोगकर्ता" कहते हैं, तो आपका क्या मतलब है? PHP आवेदन के प्रति उपयोग? –
आपको प्रति उपयोगकर्ता .ini फ़ाइल की आवश्यकता क्यों है? क्या उस प्रकार की जानकारी डीबी में संग्रहित नहीं होनी चाहिए? – Omnipresent
अच्छी तरह से, मेरा मतलब था कि मैं एक ही PHP अनुप्रयोग के प्रत्येक उपयोगकर्ता के लिए एक आईएनआई फ़ाइल सेट चाहता हूं। उदाहरण के लिए, chad.ini, jeff.ini, mary.ini, anne.ini – netrox