【问题标题】:The upload path does not appear to be valid in CodeIgniter 3上传路径在 CodeIgniter 3 中似乎无效
【发布时间】:2021-06-14 17:31:32
【问题描述】:

我有一个 CodeIgniter 项目假设 2nd_c 在另一个 CodeIgniter 项目假设 1st_c。我想将文件和图像上传到 1st_c 项目,但它会引发路径错误“上传路径似乎无效”我已加载“上传”库,这是我的代码

$config=array();

                    $config['upload_path'] = '../assets/uploads/jobs';

                    $config['allowed_types'] = 'gif|jpg|jpeg|png';

                    $config['overwrite']     = false;

                    $config['max_size']      = 3000;

                    $config['remove_spaces'] = true;

                    $config['max_filename']   = 10;

                    $config['file_ext_tolower'] = true;


                    $this->upload->initialize($config);
                    
                    if($this->upload->do_upload('pic')){

                    $udata = array('upload_data' => $this->upload->data());                

                    $jobimage = $udata['upload_data']['file_name'];            

                    $data['j_image'] = $jobimage;     

                   }else{

                       $errors = $this->upload->display_errors();

                       echo "<pre>"; print_r($errors); echo "</pre>";

                       exit;

                    }

"../assets/uploads/jobs" 这是在我的 1st_c 项目中,它在 localhost 上运行良好,但在服务器上却抛出错误。我试过“FCPATH”但没有运气。

【问题讨论】:

  • 你检查过服务器上是否存在上传路径吗?
  • 一个站点是另一个站点的子域吗?您想在服务器 A 和服务器 B 上保留一份副本吗?
  • 您在 PC 上的 Localhost 下运行的是什么 Webserver,以及在“服务器”上运行的 Webserver 是什么。有些东西是不同的,所以知道这会有所帮助。
  • @Vickel 是的
  • @Kinglish 我在项目 A 中有上传文件夹在项目 B 中没有上传文件夹

标签: php codeigniter


【解决方案1】:

在处理 CI 文件夹时使用APPPATHbase_url()

$file_path = realpath(APPPATH . '../assets/uploads/jobs');

$file_path = base_url().'/assets/uploads/jobs');

文件夹结构应该是

Application
assets
    uploads
        jobs
system
index.php

【讨论】:

    【解决方案2】:
                  $upload_path = "Test_folder/Temp_folder";
                  public function upload($upload_path,$name){
                      $config['upload_path'] = $upload_path;
                      $config['allowed_types'] = 'pdf';
                      $config['max_size'] = 0;
                      $config['file_name'] = $name;
    
                      $this->load->library('upload', $config);
                      $this->upload->initialize($config);
    
                      if (!$this->upload->do_upload('file'))
                      {
                          return "true";
                      }
                      else{
                          $file_data = $this->upload->data();
                          $file_name = $file_data['file_name'];
                          return $file_name;
                      }
                    }
    

    【讨论】:

      猜你喜欢
      • 2018-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-13
      • 1970-01-01
      • 2011-12-28
      • 2013-05-17
      • 1970-01-01
      相关资源
      最近更新 更多