【问题标题】:Upload path on Codeigniter gives error in OpenshiftCodeigniter 上的上传路径在 Openshift 中出现错误
【发布时间】:2013-10-15 05:02:34
【问题描述】:

我正在尝试将图像上传到托管在 Openshift 上的 Codeigniter 应用程序。我的应用结构如下

App
 -libs
 -...
 -php
   - application
   - public
       - uploads

我想将图像上传到这个 uploads 文件夹。我的代码

    $config['upload_path']=realpath(dirname(__FILE__)).'public/uploads/';
    $config['allowed_types']="jpg|jpeg|gif|png";
    $this->load->library('upload',$config);
    if(!($this->upload->do_upload())){
        $error=array('error'=>$this->upload->display_errors());
        $this->load->view('profile',$error);

    }
    else{

        $file_data=$this->upload->data();
        $data['img']=base_url().'/public/uploads/'.$file_data['file_name'];
        $this->load->view('success',$data);
    }  

但上面给了我上传路径似乎无效。错误。我尝试了几种方法。但问题是服务器不允许上传到该位置。

通常我可以访问 uploads 文件夹中的文件。但是当我尝试写入数据(存储文件)时,它不允许。我该如何解决这个问题。

注意:我想要 Openshift 服务器的解决方案,而不是 localhost

【问题讨论】:

  • 您是否尝试过回显$config['upload_path'] 来验证它是否有效?
  • 是的。但它提供了一条有线路径

标签: php codeigniter openshift


【解决方案1】:

路径应该是 $OPENSHIFT_DATA_DIR(指向 ~/app_root/data)。

您也可以写入 /tmp,但这些文件将被视为临时文件。

您在文件系统的任何位置都没有写入权限。

【讨论】:

  • 如何定义 Openshift 变量?我尝试过,但它告诉变量没有定义 echo $OPENSHIFT_DATA_DIR; ?
  • 看这个例子,看看如何在你的代码中抓取环境变量。在示例中,我们正在抓取数据库参数,但您也可以使用它来抓取数据目录stackoverflow.com/questions/17016388/…
猜你喜欢
  • 2021-01-30
  • 2012-01-22
  • 2020-12-31
  • 1970-01-01
  • 1970-01-01
  • 2016-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多