2

これは、ファイルをアップロードするためのcodeigniter関数です。

public function doctor_signup()
{ 
    $this->load->library('encrypt');
    $rand = time() . rand(0, 9999);

    if($_FILES["file"]["name"]!="") 
    {
        $config['upload_path'] = realpath(dirname(__FILE__)). '/uploads/';
        $config['max_size'] = '100';
        $config['max_width']  = '1024';
        $config['max_height']  = '768';
        $config['name']=$rand;
        print_r($config);


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

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


    $data = array(
        'username' => $_POST['username'],
        'password' => $this->encrypt->encode($_POST['password']),
        'name' => $_POST['name'],
        'address' => $_POST['address'],     
        'city' => $_POST['city'],       
        'state' => $_POST['state'],                                                 
        'photo'=> $rand,
        'email' => $_POST['email'],
        'date_of_join'=>date('Y-m-d H:m:s'),
        'landline' => $_POST['landline'],
        'mobile' => $_POST['mobile'],
        'specialist' => $_POST['specialist'],
        'comments' => $_POST['comments'],
        'degree' => $_POST['degree']
    );


    if( $this->db->insert('doctor_user', $data)) 
    {
        $this->load->view('header', $data);
        $this->load->view('user_created', $data);
        $this->load->view('footer', $data);
    }
}

ただし、ファイルはアップロードディレクトリにアップロードされず、エラーも発生しません。ホームディレクトリの下にあるuploadsフォルダ。なにか提案を。ありがとう

4

1 に答える 1

0

$config['name'] が

$config['file_name']

これの名前を変更して、動作するかどうかを確認してください。また、アップロードできるファイルを指定するために $config['allowed_types'] を使用していません。そうでなければ、誰かが厄介なファイルをアップロードするのを止めるにはどうすればよいですか?

于 2013-02-27T12:46:43.150 に答える