在我的项目中,我在root中有一个安全文件夹。项目包看起来像:
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']->videothumbnail)
是数据库中的当前图像文件。新文件已成功上传。但旧文件没有取消链接。我已将安全文件夹的权限设置为777
。但图像是以只读权限上传的。是因为这样,它没有被取消联系吗?
任何人都可以帮我解决这个问题吗?
提前致谢。
答案 0 :(得分:1)
试试这个:
使用以下方式动态设置权限:
@chmod('./secure/'.$data['row']->videothumbnail, 0777);
然后尝试取消链接:
@unlink('./secure/'.$data['row']->videothumbnail);
答案 1 :(得分:0)
尝试回显您提供的用于取消链接功能的路径。
它应该是这样的:
base_url()."secure/".$data['row']->videothumbnail;
答案 2 :(得分:0)
首先加载$this->load->helper("file")
,然后取消链接
unlink("secure/".$data['row']->videothumbnail);
答案 3 :(得分:0)
即使在文件夹上设置了正确的权限,我也遇到了这个问题。但以下代码对我有用。
unlink(realpath(APPPATH . '../uploads').'/'.$ImageName);
答案 4 :(得分:0)
尝试使用$_SERVER['DOCUMENT_ROOT']
代替base_url
答案 5 :(得分:0)
$this->load->helper("file")
unlink(base_url('folder/file.ext'));
位置:
\应用\控制器
\ SYSTEM \文库
**文件夹\ file.ext **
答案 6 :(得分:0)
$unlinkUrl = "secure/".$data['row']->videothumbnail;
if(file_exists($unlinkUrl)){
unlink($unlinkUrl);
}
else{
echo $unlinkUrl." is not available";
}
答案 7 :(得分:0)
我认为你只是犯了一个愚蠢的错误。
首先,unlink
的第一个参数应该是相对路径或绝对路径,但是base_url
函数会返回一个包含域名的路径,如何删除远程文件服务器?
其次,'/secure/'.$data['row']->videothumbnail
这里不是相对路径而是绝对路径
您必须将其更改为/the/absolute/path/to/secure/
或./the/relative/path/to/secure/
(不要错过点)
答案 8 :(得分:0)
使用此方法取消链接
$oldthumb = "secure/".$data['row']->videothumbnail;
@unlink($oldthumb);
答案 9 :(得分:0)
if ($rowAffected > 0) {
if ($isMediaUpload)
if (file_exists('./uploads/' . $this->input->post('img_url')))
unlink('./uploads/' . $this->input->post('img_url'));
redirect('/admin/configration', 'location');
}
答案 10 :(得分:0)
虽然我来晚了,但是有人可能需要这个。
unlink(FCPATH."secure/".$data['row']->videothumbnail)
**FCPATH** - path to front controller, usually index.php
**APPPATH** - path to application folder
**BASEPATH** - path to system folder.