Php 无法取消Codeigniter中文件的链接

Php 无法取消Codeigniter中文件的链接,php,codeigniter,file-upload,unlink,Php,Codeigniter,File Upload,Unlink,在我的项目中,我在根目录中有一个文件夹secure。项目包如下所示: application secure system ........... 在安全文件夹内,我正在使用提交表单上传一些图像 $config1['upload_path'] = './secure/'; $ext = end(explode(".", $_FILES['thumb_image']['name'])); $config1['file_name'] = time().$_FILES['thumb_image']

在我的项目中,我在根目录中有一个文件夹secure。项目包如下所示:

application 
secure
system 
...........
在安全文件夹内,我正在使用提交表单上传一些图像

$config1['upload_path'] = './secure/';
$ext = end(explode(".", $_FILES['thumb_image']['name']));
$config1['file_name'] = time().$_FILES['thumb_image']['name'];
$config1['allowed_types'] = 'jpg|png|jpeg|gif|bmp|jpe|tiff|tif';
$this->load->library('upload', $config1);
$this->upload->initialize($config1);
$this->upload->do_upload('thumb_image');
而且工作正常。现在,在使用另一个表单编辑详细信息时,如果我上载的是新图像而不是当前图像文件,我希望取消当前图像的链接,然后上载新文件

为此,我使用以下代码:

unlink(base_url("secure/".$data['row']->videothumbnail));
我也试过了

unlink('/secure/'.$data['row']->videothumbnail);
其中
$data['row']->video缩略图)
是数据库中的当前图像文件。新文件已成功上载。但旧文件并没有被解除链接。我已将安全文件夹的权限设置为
777
。但是这些图片是以只读权限上传的。是不是因为这个,它没有被拆开

谁能帮我解决这个问题


提前感谢。

尝试回显您为取消链接功能提供的路径

应该是这样的:

base_url()."secure/".$data['row']->videothumbnail;
试试这个:

使用以下命令动态设置权限:

@chmod('./secure/'.$data['row']->videothumbnail, 0777);
然后尝试取消链接:

@unlink('./secure/'.$data['row']->videothumbnail);

首先加载
$this->Load->helper(“文件”)
,然后取消链接

unlink("secure/".$data['row']->videothumbnail);

即使在对文件夹设置了正确的权限之后,我也有这个问题。但是下面的代码对我有用

unlink(realpath(APPPATH . '../uploads').'/'.$ImageName);      

尝试使用
$\u服务器['DOCUMENT\u ROOT']
而不是
base\u url

$this->load->helper("file") 
unlink(base_url('folder/file.ext'));
地点:

\应用程序\控制器

\系统\库


**folder\file.ext**

我想你只是犯了一个愚蠢的错误

$unlinkUrl = "secure/".$data['row']->videothumbnail;
if(file_exists($unlinkUrl)){
    unlink($unlinkUrl);
}
else{
    echo $unlinkUrl." is not available";    
}
  • 首先,
    unlink
    的第一个参数应该是相对路径或绝对路径,但是
    base\u url
    函数会返回包含域名的路径,如何删除远程服务器上的文件

  • 其次,
    '/secure/'.$data['row']->video缩略图
    这里不是相对路径,而是绝对路径

您必须将其更改为
/the/absolute/path/to/secure/
/the/relative/path/to/secure/
请勿错过点)

使用此选项取消链接

$oldthumb = "secure/".$data['row']->videothumbnail;
@unlink($oldthumb);

虽然我来晚了,但可能有人需要这个

unlink(FCPATH."secure/".$data['row']->videothumbnail)

**FCPATH** - path to front controller, usually index.php
**APPPATH** - path to application folder
**BASEPATH** - path to system folder.

这仍然没有帮助,因为你不能从URL上取消链接!嗯-不,不是
base\u url
将为您提供
HTTP
路径,
unlink
功能所需的目录路径…谢谢我错过了。在/secure之前。您可以在上载后尝试对文件执行chmod以更改权限如果dir路径错误,则
取消链接
函数显示警告,是否可以显示警告??它正在工作..问题是我忽略了。在/secure/path之前..您可以查看此url
unlink(FCPATH."secure/".$data['row']->videothumbnail)

**FCPATH** - path to front controller, usually index.php
**APPPATH** - path to application folder
**BASEPATH** - path to system folder.