使用CodeIgniter上传文件

时间:2015-04-06 12:00:13

标签: php mysql file codeigniter upload

我想使用CodeIgniter上传图片。我按照文档中的教程进行操作,但它不起作用。有谁知道解决方案?

如何将图像发送到数据库?

在Views / mod / mod.php中查看

<form action="" method="post">
    <?php if(isset($error)): ?>
        <?php echo $error ?>
    <?php endif; ?>

    <?php echo form_open_multipart('upload/do_upload');?>

    <label for="image">Afbeelding</label>
    <input type="file" id="image" name="image" />

    <input type="submit" value="upload" />

</form>

在Views / mod / upload_succes.php上传成功

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Upload succes</title>
</head>
<body>

<h3>Your file was successfully uploaded!</h3>

<ul>
    <?php foreach ($upload_data as $item => $value):?>
        <li><?php echo $item;?>: <?php echo $value;?></li>
    <?php endforeach; ?>
</ul>

<p><?php echo anchor('upload', 'Upload Another File!'); ?></p>


</body>
</html>

在controllers / upload.php中上传.php

<?php

class Upload extends CI_Controller {

    public function __construct()
    {
        parent::__construct();
        $this->load->helper(array('form', 'url'));
    }

    public function index()
    {
        $this->load->view('mod/mod', array('error' => ' ' ));
    }

    public function do_upload()
    {
        $config['upload_path']          = './uploads/';
        $config['allowed_types']        = 'jpg|png';
        $config['max_size']             = 100;
        $config['max_width']            = 1024;
        $config['max_height']           = 768;

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

        if ( ! $this->upload->do_upload())
        {
            $error = array('error' => $this->upload->display_errors());

            $this->load->view('mod/mod', $error);
        }
        else
        {
            $data = array('upload_data' => $this->upload->data());

            $this->load->view('mod/upload_success', $data);
        }
    }
}
?>

1 个答案:

答案 0 :(得分:0)

试试这个。希望这可以帮助你-----------

$file_name = "";

if ($_FILES['image']['error']!= 4) {

            $fileParts = pathinfo($_FILES['image']['name']);
            $file_name = time() . '.' . $fileParts['extension'];
            $config['upload_path'] = './uploads/';
            $config['allowed_types'] = 'gif|jpg|png|jpeg';

            $config['file_name'] = $file_name;
            $this->load->library('upload', $config);
            $this->upload->initialize($config);
            $this->upload->do_upload('image');
        }