如何在 CodeIgniter 中取消链接(删除)图像

新手上路,请多包涵

我尝试 unlink CodeIgniter 中的图像,但是 unlink 函数显示:

注意未定义的索引:用户文件

这是我的代码

<?php
    function get_from_post(){
        $data['logo_name']  = $this->input->post('logo_name',TRUE);
        $data['logo_thumb'] = $_FILES['userfile']['name'];
        return $data;
    }

    function deleteconf($data){
        $data= $this->get_from_post();
        $update_id=$this->uri->segment(3);

        @unlink(base_url.'image/logo_thumb'.$logo_thumb);

        $query= $this->_delete($update_id);
    }
?>

原文由 Arul 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 563
1 个回答

unlink 函数显示通知 Undefined index: userfile

上传表单,使用 multipart/form-data

确保您已使用 enctype="multipart/form-data" 上传表单的属性/值。

 <form action="" method="post" accept-charset="utf-8" enctype="multipart/form-data">

来自 MDN

加密类型

multipart/form-data :如果您使用 <input> 类型属性设置为“文件”的元素,请使用此值。

如果你打算使用 CodeIgniter 表单助手,你可以使用 form_open_multipart() 函数:

此功能与上面的 form_open() 标签完全相同,只是它添加了一个 multipart 属性,如果您想使用表单上传文件,这是必需的。

删除文件,文件路径与 URL 地址

PHP unlink() 函数接受文件的 路径 作为第一个参数。不是 URL 地址

base_url() 辅助函数返回 config.php 文件中设置的站点 的 URL 地址

您必须使用服务器上文件的路径,如下所示:

 unlink('/path/to/image/image_name.jpg'); // This is an absolute path to the file

您可以使用 绝对 路径或 相对 路径,但请注意, 相对路径 是相对于 index.php 文件的。即如果 image/ 文件夹放在 index.php 文件旁边,你应该使用 image/image_name.jpg 作为文件路径:

 unlink('image/image_name.jpg'); // This is a relative path to the file

原文由 Hashem Qolami 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏