这是我当前的代码,我以为我已经弄清楚了,但这只是删除目录中的所有文件。
$this->load->helper('file');
$videos = get_filenames('z/course/');
foreach ($videos as $key => $value) {
if ($value != 'default_video.mp4') {
delete_files('z/course/'.$value);
}
}
有什么解决方法吗?
答案 0 :(得分:1)
delete_files()
方法,用于删除给定目录内的所有文件。
参考:https://www.codeigniter.com/userguide3/helpers/file_helper.html#delete_files
要删除单个文件,请使用unlink()
。
$this->load->helper('file');
$videos = get_filenames('z/course/');
foreach ($videos as $key => $value) {
if ($value != '' && $value != 'default_video.mp4') {
// delete_files('z/course/'.$value);
$file = 'z/course/'.$value;
if (is_readable($file) && unlink($file)) {
echo "The file has been deleted";
} else {
echo "The file was not found or not readable and could not be deleted";
}
}
}
答案 1 :(得分:0)
您可以使用strpos()
功能检查文件名中是否存在default_video.mp4
。
$this->load->helper('file');
$videos = get_filenames('z/course/');
foreach ($videos as $key => $value) {
if (strpos($value, 'default_video.mp4') !== false) {
delete_files('z/course/'.$value);
}
}
您应该:
if (strpos($value, 'default_video.mp4') !== false) {
//do something
}