繁体   English   中英

如何在CodeIgniter中编辑上传的文件

[英]How to edit an uploaded file in CodeIgniter

我正在使用CodeIgniter上传.ini文件。

上传文件后,我将使用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)

使用此编码

 <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>

如注释中所述,您需要在视图中将$ parameters用作数组,因为parse_ini_file返回1。

您要生成哪种文本框? 您使用的是普通输入字段,您是说文本区域吗?

如何从数组生成ini文件,您可以在这里看到。 您可以使用file_put_contents写入文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM