1

我使用来自 CI 的确切代码

https://www.codeigniter.com/user_guide/libraries/file_uploading.html

但它总是不断给我同样的错误

上传路径似乎无效。

文件夹在那里,路径没问题。文件夹有写权限。

控制器代码是这个

<?php

  class Upload extends CI_Controller {

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

}

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

function do_upload()
{

    $config['upload_path'] = '/uploads/';
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size'] = '100';
    $config['max_width']  = '1024';
    $config['max_height']  = '768';
    print_r($config);

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

    if ( ! $this->upload->do_upload())
    {
        $error = array('error' => $this->upload->display_errors());
        //echo 'path : '.$config['upload_path'];

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

        $this->load->view('upload_success', $data);
    }
    //echo "submited";
}
 }?>
4

3 回答 3

1

我找出问题所在。我在控制器文件夹中创建文件夹。上传文件夹应在安装 Codeignator 的根文件夹中创建。在我的情况下,CI 安装在此路径

本地主机/CI/

所以我创建了名为 upload 的文件夹,它对我有用。

于 2013-03-27T10:28:29.763 回答
0

只需在应用程序文件夹目录中创建一个具有名称'uploads'的文件夹。并更改您在控制器中上传路径编码行,如下所示。

$config['upload_path'] = './uploads/';
于 2013-03-27T10:03:21.023 回答
0

您的问题在下一行。

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

而不是这样做

 $this->upload->initialize($config);

并从自动加载加载上传库。

于 2016-08-16T15:01:16.360 回答