当我用下面的代码删除上传文件夹中的目录后,我的上传文件夹被删除时,我遇到了一个问题
function delete_files($target,$target_thumb) {
if(is_dir($target)){
$files = glob( $target . '*', GLOB_MARK );
foreach( $files as $file )
{
delete_files( $file );
}
rmdir( $target );
} elseif(is_file($target)) {
unlink( $target );
}
if(is_dir($target_thumb)){
$files = glob( $target_thumb . '*', GLOB_MARK );
foreach( $files as $file )
{
delete_files( $file );
}
rmdir( $target_thumb );
} elseif(is_file($target_thumb)) {
unlink( $target_thumb );
}
}
我只想从上传文件夹中删除类别和其中的文件。。它的作用是删除所有上载文件夹中的所有文件。不知道为什么。任何建议都会有帮助。
编辑1:
我懂了。。
$target
显示为
"../uploads/"
在我回应之后。。
$cat_id = $_GET['cat_id'];
$cat_data = data_cat($cat_id,'name');
if (empty($cat_id)){
header("Location: categories.php");
exit;
}
if (isset($_GET['cat_id'])){
$cat_id = $_GET['cat_id'];
$query = mysql_query("DELETE FROM cattegories WHERE cat_id = $cat_id");
$target = ('../uploads/'.$cat_data['name']);
$target_thumb = ('../uploads/thumbs/'.$cat_data['name']);
delete_cat($cat_id);
delete_files($target,$target_thumb);
header("Location: categories.php");
exit();
}
我的函数似乎无法获取类别的名称。。
编辑2:
那是我的
data_cat
功能:
function data_cat($cat_id){
$cat_id = (int)$cat_id;
$args = func_get_args();
unset($args[0]);
$fields = '`'.implode('`,`', $args).'`';
$query = mysql_query("SELECT $fields FROM `cattegories` WHERE `cat_id` = $cat_id");
$query_result = mysql_fetch_assoc($query);
foreach ($args as $field){
$args[$field] = $query_result[$field];
}
return $args;
}
P.S.名称categories是正确的,我只是在数据库命名中犯了一个错误。