Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter上载图像-上载路径似乎无效_Php_Codeigniter_File Upload - Fatal编程技术网

Php Codeigniter上载图像-上载路径似乎无效

Php Codeigniter上载图像-上载路径似乎无效,php,codeigniter,file-upload,Php,Codeigniter,File Upload,我在使用codeigniter上载库上载图像时遇到问题,我不断收到错误 上载路径似乎无效 我试图上传的文件路径也如下所示 $config['upload_path']='./media/images/site' 当我在下面点上时 die(var_dump(is_dir($config['upload_path']))); 我得到了以下回复: 布尔(真) 文件夹也是可写的(777),所以我不确定哪里出错了,下面是我的上传代码 $config['upload_path'] = './media/i

我在使用codeigniter上载库上载图像时遇到问题,我不断收到错误

上载路径似乎无效

我试图上传的文件路径也如下所示

$config['upload_path']='./media/images/site'

当我在下面点上时

die(var_dump(is_dir($config['upload_path'])));
我得到了以下回复:

布尔(真)

文件夹也是可写的(777),所以我不确定哪里出错了,下面是我的上传代码

$config['upload_path'] = './media/images/site';
        //die(realpath($config['upload_path']));
        //die(var_dump(is_dir($config['upload_path'])));  
        $config['allowed_types'] = 'gif|jpg|png|jpeg';
        $config['max_size'] = '1500';
        $config['max_width']  = '390';
        $config['max_height']  = '269';

        $this->load->library('upload',$config);
        if ( ! $this->upload->do_upload() && $_FILES['userfile']['error'] != 4)
        {
            $data['error'] = $this->upload->display_errors();
            $this->template->build('/admin/pages/about_us', $data);
        }
        else
        {
            $image = $this->upload->data();
            if(empty($image['file_name'])) {
                $image['file_name'] = $this->formbuilder->defaults['page_image'];
            }
            $page = array(
                //'page_title' => $this->input->post('page_title'),
                //'page_slug' => $this->input->post('page_slug'),
                'page_content' => $this->input->post('page_content'),
                'page_image' => $image['file_name'],
                'date_created' => date("Y-m-d h:i:s"),
                'created_by' => 1
            );

            if($this->pages_model->insert($this->security->xss_clean($page)))
            {
                redirect('/admin/dashboard');
            }
        }
我看不到任何明显的东西会阻止上传文件,下面是我的项目文件夹结构

/application
/system 
index.php
.htaccess
/media
    /images
        /site
        /admin
    /css
    /js
如果有人能解释我的问题那就太好了

为脾气暴躁的选民编辑

是什么导致了这个问题


(有一个问题,似乎还不够明显)

尝试在库加载行之前添加这一行:

 // Alternately you can set preferences by calling the initialize function. Useful if you auto-load the class:
    $this->upload->initialize($config);
不要忘记在模板中添加此行:

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

您的问题似乎发生在
system/libraries/upload.php的
validate\u upload\u路径
方法中

此方法会使用各种技巧将上载路径解析为完整路径,因此我建议在每行之前插入一个var dump,如下所示:
$this->set_error('upload_no_filepath')

要确定出错的地方,请从那里回溯。

在您的控制器中尝试此代码

$config['upload_path'] = 'images'; //name of the uploading folder
$config['allowed_types'] = 'jpeg|png|jpg'; 

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

if (!$this->upload->do_upload())
 {
  echo $this->upload->display_errors();
  exit;
 }
else
 {
  $upload_data = $this->upload->data();
 } 

如果他没有做一个多部分表单,他会在得到任何关于上传路径的错误之前得到“你没有选择要上传的文件”