我想要删除在我的本地主机中找到的一个文件。
localhost/project/folder/file_to_delete
我正在使用codeigniter。
我想在php中使用unlink()函数,但我真的不明白如何使用它。
我想要删除在我的本地主机中找到的一个文件。
localhost/project/folder/file_to_delete
我正在使用codeigniter。
我想在php中使用unlink()函数,但我真的不明白如何使用它。
$this->load->helper("file");
delete_files($path);
最新更改: delete_files
方法使用一个路径通过unlink()
删除其所有内容,同样在CI中也可以这样做。像这样:
unlink($path);
http://php.net/manual/zh/function.unlink.php
这是理解unlink函数的最佳方式。阅读它!
$path_to_file = '/project/folder/file_to_delete';
if(unlink($path_to_file)) {
echo 'deleted successfully';
}
else {
echo 'errors occured';
}
删除文件使用
unlink($file_name);
要删除目录,请使用以下命令:
rmdir($dir);
我建议你尝试这个方法,对我来说很有效:
unlink("./path/to/folder/file_name_do_delete");
unlink("./uploads/123.jpg");
在解除链接时使用FCPATH
。您可以尝试以下方法,这适用于我:
$file_name = $SBLN_ROLL_NO."_ssc";
$file_ext = pathinfo($_FILES['ASSIGNMENT_FILE']['name'],PATHINFO_EXTENSION);
//File upload configuration
$config['upload_path'] = $upload_path;
$config['allowed_types'] = 'jpg|jpeg|png|gif|pdf';
$config['file_name'] = $file_name.'.'.$file_ext;
//First save the previous path for unlink before update
$temp = $this->utilities->findByAttribute('SKILL_DEV_ELEMENT', array('APPLICANT_ID'=>$STUDENT_PERSONAL_INFO->APPLICANT_ID, 'SD_ID'=>$SD_ID));
//Now Unlink
if(file_exists($upload_path.'/'.$temp->ELEMENT_URL))
{
unlink(FCPATH . $upload_path.'/'.$temp->ELEMENT_URL);
}
//Then upload a new file
if($this->upload->do_upload('file'))
{
// Uploaded file data
$fileData = $this->upload->data();
$file_name = $fileData['file_name'];
}
$file = "uploads/my_test_file.txt";
if (is_readable($file) && unlink($file)) {
echo "The file has been deleted";
} else {
echo "The file was not found";
}
$file = "test.txt";
if (!unlink($file))
{
echo ("Error deleting $file");
}
else
{
echo ("Deleted $file");
}
这段代码也可以处理非空文件夹 - 只需在辅助程序中使用它。
if (!function_exists('deleteDirectory')) {
function deleteDirectory($dir) {
if (!file_exists($dir)) return true;
if (!is_dir($dir) || is_link($dir)) return unlink($dir);
foreach (scandir($dir) as $item) {
if ($item == '.' || $item == '..') continue;
if (!deleteDirectory($dir . "/" . $item)) {
chmod($dir . "/" . $item, 0777);
if (!deleteDirectory($dir . "/" . $item)) return false;
};
}
return rmdir($dir);
}
}
2018年9月这个解决方案对我很有效。
if(unlink(FCPATH . 'uploads/'.$filename)){
echo "Deleted";
}else{
echo "Found some error";
}
delete_files
函数使用递归的unlink()
来删除指定文件夹中的文件。这个问题的答案应该被更新。 - Taha Paksu