在 Codeigniter 中上传图像显示错误 上传路径似乎无效

2023-12-12

$config['upload_path'] = site_path().'photos/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = '2048';
$this->load->library('upload', $config);    
if ( ! $this->upload->do_upload())
{ 
    $this->data['alert'] = $this->upload->display_errors();                     
    $this->load->view('profile/photo', $this->data);
}   
else
{
    $upload_data = $this->upload->data();

    $filename = $upload_data['file_name'];
    $width = $upload_data['image_width'];
    $height = $upload_data['image_height'];
    $config1 = array();
    $this->load->library('image_lib');
    $config1['source_image'] = site_path().'photos/'.$filename;


    $this->remove_existing_file($this->session->userdata('user_id'));
    $this->Profile_model->savephoto('Edit', $filename );
    redirect('/profile/photo');
}

我收到此错误:

上传路径似乎无效。


发生此错误的原因只有几个:

  1. 目录site_path().'photos/'不存在,尝试运行is_dir()以确保它确实如此。
  2. 该目录存在但不可写。确保您已对该目录设置了适当的权限。尝试跑步is_writable()确保;确定。
  3. 您要使用的目录已存在,但您尚未将其正确呈现给上传库。尝试使用带有尾部正斜杠的绝对路径,类似于用户指南中的示例.

除此之外,我想不出任何解释。以下是验证路径的 CI 代码(Upload 类的一部分):

public function validate_upload_path()
{
    if ($this->upload_path == '')
    {
        $this->set_error('upload_no_filepath');
        return FALSE;
    }

    if (function_exists('realpath') AND @realpath($this->upload_path) !== FALSE)
    {
        $this->upload_path = str_replace("\\", "/", realpath($this->upload_path));
    }

    // This is most likely the trigger for your error
    if ( ! @is_dir($this->upload_path))
    {
        $this->set_error('upload_no_filepath');
        return FALSE;
    }

    if ( ! is_really_writable($this->upload_path))
    {
        $this->set_error('upload_not_writable');
        return FALSE;
    }

    $this->upload_path = preg_replace("/(.+?)\/*$/", "\\1/",  $this->upload_path);
    return TRUE;
}

Update:

根据您的评论,请尝试这样做,让我们看看在进行下一步调试之前会发生什么:

$config['upload_path'] = './community/photos/';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Codeigniter 中上传图像显示错误 上传路径似乎无效 的相关文章

  • Codeigniter 3.0.4 在我的服务器上出现 404 Page Not Found 错误

    我是 codeigniter 的新手 在我的本地主机上开发一个网络应用程序后 我将我的网站上传到服务器上 然后导入我的数据库 之后我更改了database php文件中的数据库设置 并且我还更改了config php文件中的基本url 我得
  • 如何更改 codeigniter 中显示的错误

    The URI you submitted has disallowed characters 我该如何拦截这个错误 他们是一个callback 功能 当我尝试在 URL 中使用 时 会发生此错误 例如 我输入 1 1 我得到这个错误 我想
  • Codeigniter htaccess 和 base_url

    我安装了 codeigniter 并开始在上面编写一些代码 首先我想删除 index php 并对其进行一些研究 我用下面的一个小 htaccess 代码将其删除 RewriteEngine on RewriteCond 1 index p
  • 如何从 PHP 中同一类中的其他方法访问变量?

    我尝试了这个但无法让它工作 class Profile extends CI Controller public function index foo bar public function form submit echo this gt
  • 是否使用 PHP 框架? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我已经开始用 PHP 编写一些应用程序 并且我对这门语言越来越熟悉 有人告诉我有关 CakePHP 和 CodeIgniter 的信息 我想更好
  • 如何避免 codeigniter 缓存

    我们在 codeigniter 框架中开发了一个网站 我们面临 codeigniter 缓存问题 问题是这样的 当用户登录时 我们的标题栏信息应该是Welcome Mr xxxxx 如果用户注销 我们的标题信息应该是 Welcome Gue
  • 未找到“GuzzleHttp\Client”类

    我同时使用Guzzle http guzzle readthedocs org en latest 并首次推出 Codeigniter 3 0 我也承认我是第一次使用 php 命名空间 我正在尝试根据文档中提供的示例使用 Guzzle 发出
  • 在 CodeIgniter 中使用 ajax 时出现 403 禁止错误

    我正在显示我的名字textbox使用 ajax 自动完成 但我的 ajax URL 不起作用 每次都显示在网络选项卡中 403 禁止 我尝试过像这样的ajax URL url baseUrl index php Employee contr
  • ci url 是否可能不适用于index.php

    ci url 是否可能无法与index php 一起使用 我不想在url 中添加index php 如果有人在url中添加index php它应该不起作用 我已经尝试了很多方法 请给我建议 我已经尝试过 但不起作用 RewriteEngin
  • stdClass 类的对象无法转换为字符串

    我现在在使用 PHP 时遇到问题 收到此错误 Object of class stdClass could not be converted to string当我在我的网站中运行这部分代码时发生错误 function myaccount
  • 如何为codeigniter项目完美设置虚拟主机?

    我正在尝试为 codeigniter 项目制作虚拟主机 我已经在 httpd vhosts conf 中完成了此操作
  • 如何在codeigniter中引用数据库连接?

    如何在 CodeIgniter 数据库处理程序对象中手动调用 PHP 数据库函数 如何检索连接 dbc 或者调用类似的函数mysql real escape string dbc variable 您可以调用任何 mysql 本机函数并访问
  • 如何更改 Codeigniter 中的配置文件路径?

    我使用 Codeigniter 框架 你知道当我尝试加载配置文件然后使用它时 我做了类似的事情 this gt load gt config myconfig TRUE myconfig php 文件位于应用程序文件夹内 applicati
  • 如何通过htaccess在codeigniter中隐藏index.php和控制器名称

    我想从我的 codeignier url 网站隐藏 index php 和控制器名称 我也想替换这个术语 seo test product ad test product 我在下面提到了我的 htaccess 文件 请指导我如何解决这个问题
  • 更新查询增量字段加上 1 codeigniter 函数 [重复]

    这个问题在这里已经有答案了 我想在 codeigniter 项目中将字段值增加到当前值加 1 所以 我做了一个功能 但它不起作用 我的职能是 function increse field by 1 table name fieldToInc
  • 如何将 PHPMailer 与 Codeigniter 3 集成

    嗨 我正在尝试使用PHPMailer 库 https github com PHPMailer PHPMailer来自我的 Codeigniter 应用程序中的 GitHub 我下载了代码并解压到我的application library文
  • 将函数中的会话变量传递给 codeigniter 中的助手

    这就是我正在尝试做的事情 这是控制器中的功能 public function get started if test login this gt session gt all userdata this gt load gt view te
  • 上游太大 - nginx + codeigniter

    我从 Nginx 收到此错误 但似乎无法弄清楚 我正在使用 codeigniter 并使用数据库进行会话 所以我想知道标题怎么会太大 有没有办法检查标题是什么 或者看看我能做些什么来修复这个错误 如果您需要我提供任何conf文件或其他文件
  • 重定向到上一页时如何发送变量数据

    在完成特定任务后 我使用以下代码将用户重定向到上一页 if isset SERVER HTTP REFERER this gt session gt set userdata previous page SERVER HTTP REFERE
  • 在 CodeIgniter 中添加新页面

    对于我对 CodeIgniter 和 MVC 系统的无知 我提前表示歉意 我正在帮助一位家庭成员处理他们的商业网站 到目前为止 我已经能够仅通过逻辑来完成大部分所需的更改 但现在我已经走进了死胡同 我不打算继续支持他们 因为我显然不是 Co

随机推荐