我有一个允许用户上传PDF文件并在数据库中保存文件名的系统。
如何使此脚本正常工作,以便用户可以从名称不在我的数据库中的服务器中删除所有文件?
这是我实际拥有的,但脚本会删除所有文件。我不知道该怎么办。
<?php
include 'fimg.class.php';
require('../../../php/cone.php');
//header('Location: ../produccion.php');
$directory = "upload/";
//get all image files with a .jpg extension.
$images = glob($directory . "*");
foreach($images as $image)
{
$name = explode('_',$image);
$name = 'photos/' . $name[0];
$sql = mysql_query("SELECT imagen FROM r_alumnos");
if(mysql_num_rows($sql) == 0)
unlink($image);
}
?>
答案 0 :(得分:0)
你可以创建类似于维护脚本的东西。
首先,将所有内容加载到数组中(我个人不喜欢执行多个查询):
$database_files = array();
$result_db_files = mysqli_query("SELECT imagen FROM r_alumnos");
while ($row = $result_db_files->fetch_assoc())
{
$database_files[] = $row['imagen'];
}
然后检查每个文件:
$images = glob($directory . "*");
foreach($images as $image)
{
$name = explode('_',$image);
$name = 'photos/' . $name[0];
if (!in_array($name, $database_files))
{
unlink($image);
}
}