【问题标题】:How to set upload_path in code igniter as url?如何将代码点火器中的upload_path设置为url?
【发布时间】:2020-10-27 07:52:11
【问题描述】:

你好…… 我在代码点火器中上传图像时遇到问题。 我使用 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);
    }
}

当我在localhost中使用它时,上传图片就成功了。但是当我部署它时,它失败了,并显示消息“失败 1”

如何设置upload_path,使其可以指向我想要的任何网址??

【问题讨论】:

  • 你能把'message' => 'fail 1'换成'message' => $this->upload->display_errors()吗?这可以让您了解上传失败的原因。执行此操作时,请检查上传目录是否存在、是否具有写入权限(尝试 CHMOD 将其更改为 775 并重试)并且您的 PHP 进程是否可以访问

标签: api codeigniter file-upload


【解决方案1】:

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

  1. 首先,您可以尝试在您提供的路径中添加一个斜杠,如下所示assets/public/image/news/
  2. 请检查您的上传文件夹是否设置了写入权限。 笔记: 您可以使用此链接中的这段代码检查您的目录是否可写。

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

【讨论】:

  • @KUMAR 很抱歉,如果您正在寻找一个 anwser,那么如果您提供的字符串路径分别是可写的,此函数将返回 true 或 false 。路径可以是文件或目录。您可以在此处详细了解它。 https://www.php.net/is_writable
猜你喜欢
  • 1970-01-01
  • 2021-10-16
  • 2013-06-05
  • 1970-01-01
  • 1970-01-01
  • 2013-02-27
  • 2012-05-29
  • 1970-01-01
  • 2018-11-24
相关资源
最近更新 更多