Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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_Uploading - Fatal编程技术网

Php 上载图像时,上载路径在codeigniter中似乎无效

Php 上载图像时,上载路径在codeigniter中似乎无效,php,codeigniter,uploading,Php,Codeigniter,Uploading,我正试图用上传图像制作积垢。当我尝试上传时,它总是返回失败。当我放置代码以显示它返回的错误时,我放置var_dump它显示false: “上载路径似乎无效” 我一直在寻找解决办法,但什么也没找到。有人能帮我找到错误吗: 这是我的控制器: public function saveReimburse() { validate_submitted_data(array( 'nama' => 'required', 'category_reimburse_

我正试图用上传图像制作积垢。当我尝试上传时,它总是返回失败。当我放置代码以显示它返回的错误时,我放置var_dump它显示false:

“上载路径似乎无效”

我一直在寻找解决办法,但什么也没找到。有人能帮我找到错误吗:

这是我的控制器:

 public function saveReimburse()
{
    validate_submitted_data(array(
        'nama' => 'required',
        'category_reimburse_id' => 'required',
        'amount' => 'required|numeric',
        'date_reimburse' => 'required',
        // 'photo' => 'required'
    ));
    // data
    $data = [
        'nama' => $this->input->post('nama'),
        'category_reimburse_id' => $this->input->post('category_reimburse_id'),
        'amount' => $this->input->post('amount'),
        'date_reimburse' => $this->input->post('date_reimburse'),
        'photo' => $_FILES['photo'],
        // 'status'=> $this->input->post("PENDING"),
        // 'nama' => $this->input->post('nama'),
    ];


    // condition
    $date = date('Y-m-d');
    $date = strtotime($date);
    $date = strtotime('-7 day', $date);

    if ($data['date_reimburse'] < date('Y-m-d', $date)) {
        echo json_encode(array('succes' => FALSE, 'message' => 'Max Reimburse was 1 week ago'));
    } else {
        // var_dump($data);
        // exit;
        if ($data['photo'] = "") {
        } else {
            $config = [
                'upload_path' => is_dir('assets/reimburse/') . 'assets/reimburse/',
                'allowed_types' => 'jpg|png|gif',
                'overwrite' => TRUE
            ];
            $this->load->library('upload', $config);
            $upload = $this->upload->do_upload('photo');

            var_dump($config);
            print_r($this->upload->display_errors());exit;

            var_dump($upload);exit;
            if (!$upload) {
                json_encode(array('success' => FALSE, 'message' => 'Failed Upload'));
                redirect('Reimburse/index', 'refresh');
            } else {
                $this->upload->data('file_name');
                $save = $this->reimburseModel->saveReimburse('reimburse', $data);
                var_dump($data);exit;
                if (!$save) {
                    echo json_encode(array('success' => FALSE, 'message' => 'Failed to reccord'));
                } else {
                    redirect('Reimburse/index', 'refresh');
                    echo json_encode(array('success' => TRUE, 'message' => 'Reimburse Success'));
                }
            }
        }
    }
}
公共函数saverepaite()
{
验证提交的数据(数组)(
“nama”=>“必需”,
“类别报销id”=>“必需”,
“金额”=>“所需金额”|数字”,
“报销日期”=>“必需”,
//“照片”=>“必需”
));
//资料
$data=[
“nama”=>this->input->post('nama'),
'category\u repluate\u id'=>$this->input->post('category\u repluate\u id'),
“金额”=>$this->input->post('amount'),
“日期报销”=>$this->input->post(“日期报销”),
'photo'=>$\u文件['photo'],
//“状态”=>$this->input->post(“挂起”),
//“nama”=>this->input->post('nama'),
];
//状况
$date=日期('Y-m-d');
$date=strottime($date);
$date=标准时间('-7天',$date);
如果($data['date_REQUEST']<日期('Y-m-d',$date)){
echo json_encode(数组('succes'=>FALSE,'message'=>最大报销时间为1周前');
}否则{
//var_dump($数据);
//退出;
如果($data['photo']=“”){
}否则{
$config=[
“上传路径”=>是“目录('资产/报销/')。“资产/报销/”,
“允许的_类型”=>“jpg | png | gif”,
“覆盖”=>TRUE
];
$this->load->library('upload',$config);
$upload=$this->upload->do_upload('photo');
变量转储($config);
打印($this->upload->display_errors());退出;
变量转储($upload);退出;
如果(!$upload){
json_编码(数组('success'=>FALSE,'message'=>Failed Upload');
重定向(“报销/索引”、“刷新”);
}否则{
$this->upload->data('file_name');
$save=$this->repairedmodel->saverepaite('repaired',$data);
var_dump($data);退出;
如果(!$save){
echo json_encode(数组('success'=>FALSE,'message'=>'Failed to reccord');
}否则{
重定向(“报销/索引”、“刷新”);
echo json_encode(数组('success'=>TRUE,'message'=>'repluate success');
}
}
}
}
}
换行

进入这个

检查此文件的输出


如果为false,则文件夹的物理路径肯定存在问题

您必须在codeigniter中使用基本路径作为物理路径

$base_path=$this->config->item('base_path')

然后使用$base_path作为项目文件夹根目录,您可以访问项目文件夹中的任何文件夹以上载图像


喜欢$基本路径“/”.“上传/”

这可能是由于上传路径无效。检查您的
上传路径
是\u dir
返回布尔值,对还是错-将其连接到上传路径毫无意义。我只是尝试使用是\u dir,但当我使用“资产/报销”时,显示上传路径似乎无效无需发布两次相同的问题。这应该作为重复项删除,但不起作用
'upload_path' => is_dir('assets/reimburse/') . 'assets/reimburse/',
'upload_path' => './assets/reimburse/',
var_dump(is_dir(./assets/reimburse));