笨 - 删除文件,路径问题的(CodeIgniter - Delete file, pathing

2019-07-31 11:00发布

我有我的根3个文件夹,“应用”,“系统”和“上传”。 在应用/控制器/ mycontroller.php我有这行代码。

delete_files("../../uploads/$file_name");

该文件没有被删除,我已经尝试了一些路径功能选项,如../和../../../任何想法? 谢谢。

Answer 1:

$file_name是一个变量。 你应该把它串联到你自己的字符串,以执行该功能:

delete_files("../../uploads/" . $file_name);

编辑:

确保这句话:

echo base_url("uploads/" . $file_name);

是呼应的有效路径。 如果答案是肯定的,试试这个:

$this->load->helper("url");
delete_files(base_url("uploads/" . $file_name));

假设你的“上传”文件夹在根目录下。

编辑2:

使用unlink功能:

$this->load->helper("url");
unlink(base_url("uploads/" . $file_name));


Answer 2:

使用由笨此提供给您的FCPATH不变。

unlink(FCPATH . '/uploads/' . $filename);

base_url()生成的HTTP URL,并且不能被用于生成文件系统路径。 这就是为什么你必须使用CI路径常量之一。 他们是在前端控制器文件(的index.php)定义。

这三个那些你会使用是:

  • FCPATH -路径前端控制器,通常的index.php
  • APPPATH -路径应用程序文件夹
  • BASEPATH -路径的系统文件夹。


Answer 3:

如果您发现有CI上有BASE_PATH的定义你的目录,例如在上传库的配置试试这个..这只是一个非常简单的解决问题的方法..:

$imagePath = './picture/Temporary Profile Picture/';

$config['upload_path'] = $imagePath;

$config['allowed_types'] = 'gif|jpg|jpeg|png';

$this->load->library('upload', $config);

如果您发现该upload_path是“./picture/Temporary头像/”

所以,如果你想从目录中删除一个文件所有你需要做的就是使用的unlink()函数。

unlink($imagePath . $file_name);

要么

@unlink($imagePath . $file_name);

享受.. ^^



Answer 4:

此代码是为我工作。 在模型或控制器试试这个。 根据您的更改文件路径。

文件路径 - >> PROJECT_NAME /资产/上传/ file_name.jpg

public function delete_file()
{
    $file = 'file_name.jpg';
    $path = './assets/uploads/'.$file;
    unlink($path);
}


Answer 5:

你应该试试这个代码:

$imagepath = $config['upload_path'];
unlink($imagepath . $images);

要么

delete_files($imagepath . $images);


文章来源: CodeIgniter - Delete file, pathing issue
标签: codeigniter