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/

だから私はアップロードの名前でフォルダを作成しました、そしてそれは私のために働きます。

于 2013-03-27T10:28:29.763 に答える
0

あなたの問題は次の行にあります。

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

これの代わりに

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

自動ロードからアップロードライブラリをロードします。

于 2016-08-16T15:01:16.360 に答える
0

'uploads'アプリケーションフォルダーディレクトリに名前の付いたフォルダーを作成するだけです。そして、以下のように、コントローラーのアップロード パス コーディング行を変更します。

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