Resulta que tengo una base de datos en la cual se registra datos como: tipo de archivo, titulo, ubicación, entre otros; de archivos que están en carpetas dentro del servidor. Mediante una página puedo modificar o eliminar esos registros y los archivos a la cual hace referencia.
El hecho es que eliminar uno por uno, es muy engorroso, pues trabajo con muchos archivos, por lo cual, buscando en encontré como hacer un borrado múltiple mediante casillas de verificación, lo cual me funciona para borrar los registros de la base de datos mas no asó los archivos a la cual hace referencia.
El código para borrar uno por uno es el siguiente:
Código PHP:
<?php
$archivoID=$_POST['archivoID'];
$archTipo=$_POST['archTipo'];
$exten=$_POST['exten'];
$maypim=$_POST['maypim'];
//---Inicio del borrado del archivo
if(unlink($maypim.'/'.$archivoID))
{
//---Inicio del borrado de datos de la base datos
$consulta="DELETE FROM archivos WHERE archivoID='$archivoID' AND archTipo='$archTipo'";
$resultado=mysql_query($consulta,$con) or die("Error al ELIMINAR datos, referente al bloque de contenidos de ARCHIVOS");
//---Fin del borrado del archivo
$msg = 'Se ha eliminado el archivo';
}
else { $msg = 'Imposible eliminar el archivo, compruebe que el fichero exista y que tenga permiso XXX adecuados.'; }
//---Fin del borrado de datos de la base datos
?>
<p align="center"><b><font size="3"><?=$msg?></font></b></p>
<p align="center"><a href="pcontrol.php?seccion=dba_selec_user">Panel de Control</a></p>
Código PHP:
<?php
if(!empty($_POST['reg'])) {
$registros = array_keys($_POST['reg']);
$registros = implode("','", $registros);
$registros = "'".$registros."'";
$deleteSQL = sprintf("DELETE FROM archivos WHERE archivoID IN ($registros)");
mysql_select_db($database_imata, $imata);
$Result1 = mysql_query($deleteSQL, $imata) or die(mysql_error());
$deleteGoTo = "pcontrol.php?seccion=dba_wMasDeleteFile01";
if (isset($_SERVER['QUERY_STRING'])) {
$deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
$deleteGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $deleteGoTo));
}else{
echo "Hubo un error, no se ha seleccionado ningun registro";
}
?>