我有laravel5.4应用程序。我想从数据库中不可用的上载文件夹中删除未使用的图像/文件。
例如:我的上传文件夹中有50张图片用于用户个人资料,但有些图片不用于任何用户。我认为他从前端删除或更新了自己的图片。
是的,我知道我们需要编写代码来在用户更新时删除文件或一次删除个人资料图片,也要从上载folder。删除。但是我的应用程序运行了很多次,我想使用脚本而不是手动删除未使用的文件,因为我有很多文件因此很难手动检查和删除文件。任何人都可以帮助我创建任何从文件夹删除文件的功能。
对不起,我的英语不好。
我在AdminController中使用类似的方法通过单击按钮来删除图像。
也许您需要更改路径或扩展名
public function deleteUnusedImages()
{
$file_types = array(
'gif',
'jpg',
'jpeg',
'png'
);
$directory = public_path();
$files = File::allFiles($directory);
foreach ($files as $file)
{
$ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
if (in_array($ext, $file_types)) {
if(DB::table('users')->where('votes', '=', $file)->count())
continue; // continue if the picture is in use
echo 'removed' . basename($file)."<br />";
unlink($file); // delete if picture isn't in use
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句