2016-02-22 31 views
0

我使用CodeIgniter上传.ini文件。如何在CodeIgniter中编辑上传的文件

一旦我上传文件,我使用PHP的INI分析器,并获取文件内容作为数组。

现在我想编辑该文件的内容。我该怎么做?

我的代码:

function do_upload() 
{ 
    $config['upload_path'] = './uploads/'; 
    $config['allowed_types'] = '*'; 

    $this->load->library('upload', $config); 
    $this->upload->initialize($config); 

    if (! $this->upload->do_upload()) 
    { 
     $error = array('error' => $this->upload->display_errors()); 
     $this->load->view('customer/upload/upload_ini', $error); 
    } 
    else 
    { 
     $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); 

     $this->data['subview'] = 'customer/upload/upload_success'; 
     $this->load->view('customer/_layout_main', $this->data); 
    } 
} 

在查看我做的:

<?php 
var_dump($parameters); 
?> 
<tr> 
    <td>OTAID</td> 
    <td><?php echo form_input('OTAID', set_value('OTAID', $parameters->OTAID)); ?></td> 
</tr> 
<tr> 
    <td>SipUserName</td> 
    <td><?php echo form_input('SipUserName', set_value('SipUserName', $parameters->SipUserName)); ?></td> 
</tr> 
<tr> 
    <td>SipAuthName</td> 
    <td><?php echo form_input('email2', set_value('email2', $parameters->email2)); ?></td> 
</tr> 
<tr> 
    <td>DisplayName</td> 
    <td><?php echo form_input('email2', set_value('email2', $parameters->email2)); ?></td> 
</tr> 
<tr> 
    <td>Password</td> 
    <td><?php echo form_input('email2', set_value('email2', $parameters->email2)); ?></td> 
</tr> 
<tr> 
    <td>Password</td> 
    <td><?php echo form_input('email2', set_value('email2', $parameters->email2)); ?></td> 
</tr> 
<tr> 
    <td>Domain</td> 
    <td><?php echo form_input('email2', set_value('email2', $parameters->email2)); ?></td> 
</tr> 
<tr> 
    <td>Proxy</td> 
    <td><?php echo form_input('email2', set_value('email2', $parameters->email2)); ?></td> 
</tr> 
<tr> 
    <td>ServerMode</td> 
    <td><?php echo form_input('email2', set_value('email2', $parameters->email2)); ?></td> 
</tr> 

从我的文件,我得到这样的内容:

array (size=9) 
    'OTAD' => string '0' (length=1) 
    'PName' => string '' (length=0) 
    'UName' => string '' (length=0) 
    'DisplayName' => string '' (length=0) 
    'Password' => string '' (length=0) 
    'Domain' => string '' (length=0) 
    'Proxy' => string '' (length=0) 
    'Port' => string '' (length=0) 
    'ServerMode' => string 'Automatic' (length=9) 
+0

我知道我的视图代码是错误的,但我还不知道如何显示文本框,以将值插入文件 – Rajan

+0

什么错误显示在您的页面? – msvairam

+0

严重性:注意 消息:试图让非对象的属性 文件名:上传/ upload_success.php 行号:10 – Rajan

回答

1

使用这套编码

<td>OTAID</td> 
     <td><?php echo form_input('OTAID', set_value('OTAID', $parameters->OTAID)); ?></td> 

    </tr> 



    <tr> 

     <td>SipUserName</td> 
     <td><?php echo form_input('SipUserName', set_value('SipUserName', $parameters['SipUserName'])); ?></td> 

    </tr> 


    <tr> 

     <td>SipAuthName</td> 
     <td><?php echo form_input('email2', set_value('email2', $parameters['email2'])); ?></td> 

    </tr> 


    <tr> 


     <td>DisplayName</td> 
     <td><?php echo form_input('email2', set_value('email2', $parameters['email2'])); ?></td> 
    </tr> 



    <tr> 


     <td>Password</td> 
     <td><?php echo form_input('email2', set_value('email2', $parameters['email2'])); ?></td> 
    </tr> 


    <tr> 


     <td>Password</td> 
     <td><?php echo form_input('email2', set_value('email2', $parameters['email2'])); ?></td> 
    </tr> 


    <tr> 


     <td>Domain</td> 
     <td><?php echo form_input('email2', set_value('email2', $parameters['email2'])); ?></td> 
    </tr> 


    <tr> 


     <td>Proxy</td> 
     <td><?php echo form_input('email2', set_value('email2', $parameter['email2'])); ?></td> 
    </tr> 


    <tr> 


     <td>ServerMode</td> 
     <td><?php echo form_input('email2', set_value('email2', $parameters['email2'])); ?></td> 
    </tr> 
+0

如何将此文件保存?我的控制器代码应该是什么? – Rajan

0

如前所述,您需要使用$参数作为数组,因为parse_ini_file会返回一个。

你想生成什么样的文本框?你正在使用正常的输入字段,你的意思是textarea

如何从数组中生成ini文件,您可以看到here。您可以使用file_put_contents来写入文件。

+0

你能为我的情况编写代码吗?我不明白!现在有一个数组,我想把它写到我打开的文件中 – Rajan