Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP codeigniter中编写ini文件?_Php_Codeigniter - Fatal编程技术网

如何在PHP codeigniter中编写ini文件?

如何在PHP codeigniter中编写ini文件?,php,codeigniter,Php,Codeigniter,嗨,我想在php中写一个ini文件。 首先我上传一个ini文件到我的服务器,然后我编辑它, 我想对参数进行一些更改,然后将该文件保存回上传 我使用了put\u file\u contents和fwrite,但没有得到所需的结果 这是我的代码: $data = array('upload_data' => $this->upload->data()); foreach ($data as $info) { $filepath = $info['file_path'];

嗨,我想在php中写一个ini文件。 首先我上传一个ini文件到我的服务器,然后我编辑它, 我想对参数进行一些更改,然后将该文件保存回上传

我使用了
put\u file\u contents
fwrite
,但没有得到所需的结果

这是我的代码:

$data = array('upload_data' => $this->upload->data());
foreach ($data as  $info) 
{
    $filepath = $info['file_path'];
    $filename= $info['file_name'];
}
$this->data['parameters']   = parse_ini_file($filepath.$filename);
$insert = array(
                'OTAID' => $this->input->post('OTAID'), 
                'SipUserName' => $this->input->post('SipUserName') , 
                'SipAuthName' => $this->input->post('SipAuthName'), 
                'DisplayName' => $this->input->post('DisplayName'),
                'Password' => $this->input->post('Password'), 
                'Domain' => $this->input->post('Domain'), 
                'Proxy' => $this->input->post('Proxy'), 
                'ServerMode' => $this->input->post('ServerMode')  
                );
$this->load->helper('file');
$file =fopen($filepath.$filename,'w');
fwrite($file,implode('', $insert));
$this->data['subview'] = 'customer/upload/upload_success';
$this->load->view('customer/_layout_main', $this->data);

正如我在上一个问题中告诉您的,您需要使用一个helper函数将数组转换为ini文件的正确格式。您可以找到这样一个助手函数


另外,您正在使用php内置方法从codeigniter加载文件助手。请查看文档。

正如我在上一个问题中告诉您的,您需要使用帮助函数将数组转换为ini文件的正确格式。您可以找到这样一个助手函数


另外,您正在使用php内置方法从codeigniter加载文件助手。请查看文档。

类似于以下内容的内容可能会起作用:

//Replace the fwrite($file,implode('', $insert)); with
$iniContent = "";
foreach ($insert as $key => $value) {
    $initContent .= $key."=".$value.PHP_EOL;
}
fwrite($file,$iniContent);
注意:这可能是一个人能做的最简单的事情。我不处理节、注释、转义字符或基本上任何类型的错误检查。如果您希望在代码中大量完成这类工作,我建议您查看现有的INI读/写库

更新
请尝试或按照在上的建议(该网站还提供了有关此特定问题的更多信息)

类似于以下的东西可能会起作用:

//Replace the fwrite($file,implode('', $insert)); with
$iniContent = "";
foreach ($insert as $key => $value) {
    $initContent .= $key."=".$value.PHP_EOL;
}
fwrite($file,$iniContent);
注意:这可能是一个人能做的最简单的事情。我不处理节、注释、转义字符或基本上任何类型的错误检查。如果您希望在代码中大量完成这类工作,我建议您查看现有的INI读/写库

更新
请尝试或按照在上的建议(该网站还提供了有关此特定问题的更多信息)

内爆
不会写入关联数组的键。因此,如果您的INI中需要这些密钥,这将不起作用。您应该使用array_keys($insert)来获取$insert array的密钥。@apokryfos那么我应该怎么做?我有一个数组,我想用ini格式写这个数组,这对写.ini文件有什么帮助@RaviHirani@Rajan:我告诉过你从数组中获取密钥。我不确定是否使用.ini文件写入。我需要做一个演示。如果我发现了什么,我会发布。
内爆
不会写入关联数组的键。因此,如果您的INI中需要这些密钥,这将不起作用。您应该使用array_keys($insert)来获取$insert array的密钥。@apokryfos那么我应该怎么做?我有一个数组,我想用ini格式写这个数组,这对写.ini文件有什么帮助@RaviHirani@Rajan:我告诉过你从数组中获取密钥。我不确定是否使用.ini文件写入。我需要做一个演示。如果我发现了什么,我会发布它。我得到了这个错误消息:fwrite()期望参数2是字符串,数组givei我试图写这个文件($file,$insert,'r+);我得到了这个错误消息:fwrite()期望参数2是字符串,数组giveni试图写入文件($file,$insert,'r+);