首页 > 解决方案 > 找不到类“CI_Upload”

问题描述

我有一些奇怪的问题。在现场,我的网站运行没有问题。我在 XAMPP 上运行它来执行一些更改。

但是在 XAMPP 上,我遇到了以下问题。

致命错误:在第 3 行的 C:\xampp\htdocs\hm360\application\libraries\upload.php 中找不到类“CI_Upload”遇到 PHP 错误严重性:错误消息:找不到类“CI_Upload”文件名:库/上传.php 行号:3

请指导。相同的代码在现场完美运行。

<?php  
    defined('BASEPATH') OR exit('No direct script access allowed');  

    class SellYourProperty extends CI_Controller {  

        public function index()  
        {  
            $this->load->view("baby_form_add");  
        }  

        function savingdata()  
        {  
            $this->load->helper('form');
            $data['title'] = 'Multiple file upload';

            $config = array(
                'upload_path' => './uploads/',
                'allowed_types' => 'gif|jpg|png'
            );

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

and upload.php code in libraries folder

    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    class Upload extends CI_Upload
    {
        public $multi = 'all';

标签: phpcodeigniter

解决方案


所以重建你的错误......

应用程序/库/Upload.php

class Upload extends CI_Upload {

    public function __construct() {
        parent::__construct();
    }

    public function index() {
        echo "Hi I am the Upload Library Class";
    }
}

和测试控制器

/**
 * Class Welcome
 *
 * @property CI_Loader   load
 * @property CI_Upload upload
 *
 */
class Welcome extends CI_Controller {

    public function index() {
        $this->load->library('upload');
        $this->load->view('welcome_message');
    }
}

导致您看到的错误...

如果您查找 CI_Upload,您会看到它被称为 /system/libraries/Upload.php,它是一种(如果不完全是)相同的名称。

因此,将您的 Upload.php 重命名为 Uploads.php 以使其产生不同的结果

应用程序/库/Uploads.php

<?php

/**
 * Class Uploads
 *
 * @property CI_Upload Upload
 */

require_once './system/libraries/Upload.php'; // This is not auto loaded

class Uploads extends CI_Upload {

    public function __construct() {
        parent::__construct();
        echo "Hi I am the Upload Library Class";
    }
}

我可以在没有 require_once 的情况下使用 config/autoload.php 中的库自动加载,这表明 CI 上传文件在通过 require_once 加载之前无法访问。


推荐阅读