这是我当前的代码,我以为我已经想通了,但这只会删除我目录中的所有文件。
$this->load->helper('file');
$videos = get_filenames('z/course/');
foreach ($videos as $key => $value) {
if ($value != 'default_video.mp4') {
delete_files('z/course/'.$value);
}
}
有什么解决方法吗?
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";
}
}
}
您可以使用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
}