如何在代码点火器中将 upload_path 设置为 url?

How to set upload_path in code igniter as url?

你好.... 我在代码点火器中上传图像时遇到问题。 我使用 codeigniter 作为后端。 代码是这样的:

public function upload_image_post()
{
    if ($_FILES['image']) {
        $name = $_FILES['image']['name'];
        $this->load->library('upload', array(
            'overwrite' => FALSE,
            'upload_path' => FCPATH . 'assets/public/image/news',
            'max_size' => '2097152',
            'allowed_types' => 'png|jpg|gif|jpeg',
        ));

        if (!$this->upload->do_upload('image')) {
            return  $this->response([
                'status' => false,
                'message' => 'fail 1'
            ], 500);
        } else {
            $upload = $this->upload->data();
            return  $this->response([
                'status' => true,
                'message' => 'success',
                'data' => $upload,
            ], 200);
        }
    } else {
        return  $this->response([
            'status' => false,
            'message' => 'fail 2'
        ], 500);
    }
}

当我在本地使用它时,上传图片成功。但是当我部署它时,它失败了,并显示消息 'fail 1'

如何设置 upload_path 以便它可以指向我想要的任何 url?

如果它在您的本地主机上上传,您的逻辑可能是 right.Please 尝试以下操作,看看是否对您有帮助。

  1. 首先,您可以尝试像这样在您提供的路径中添加尾部斜线 assets/public/image/news/
  2. 请检查您的上传文件夹是否设置了写入权限。 笔记: 您可以使用 link.
  3. 中的这段代码检查您的目录是否可写

https://forum.codeigniter.com/thread-74330.html

<?php if(is_writable(base_url('assets/public/image/news/'))){
    echo 'writable';
}
else { echo  (base_url('assets/public/image/news/'). ' ' ."is not writable");} ?>
  1. 检查您的 htaccess 是否配置正确。如果上述几点不起作用,可能来自以下 git 存储库的任何 htaccess 都可能对您有用。

https://github.com/tasmanwebsolutions/htaccess_for_codeigniter