Tengo 1 archivo, estoy trabajando con sessiones. Este archivo lo llamo "eliminar_imagenes.php".
eliminar_imagenes.php
Código PHP:
session_start();
if (isset($_SESSION['s_username'])) {
include("config_usuarios.php");
$sesion = $_SESSION['s_username'];
$con = mysql_query("SELECT * FROM hostimage_imagenes WHERE username = '$sesion'") or die("Error: ".mysql_error());
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="30%" valign="top">
<?
if(mysql_num_rows($con) != 0) {
echo '<form action="eliminar_imagenes.php" method="post">
<select name="archivo">';
while($datos = mysql_fetch_array($con)) {
echo '<option value="'.$datos['id'].'">'.$datos['imagen'].'</option>';
}
echo '</select><br><br>
<input type="submit" name="borrar" value="Borrar">
</form>';
} else {
echo 'No hay imgenes para borrar<br>
<a href="index.php">Volver</a>';
}
?>
</td>
<td width="70%" valign="top"><div align="center">
<script type="text/javascript">
function abrir_imagen(obj) {
document.getElementById('imagen_grande').src = obj.value;
}
</script>
<img src="" id="imagen_grande">
<script type="text/javascript">
abrir_imagen(document.getElementById('archivo'));
</script>
</div></td>
</tr>
</table>
<?
if(isset($_POST['borrar'])){
$res = mysql_query("delete from hostimage_imagenes where id='$_POST[archivo]'") or die("Error: ".mysql_error());
$archivo = $_POST[archivo];
if(unlink($archivo)) {
echo "El archivo <b>$_POST[archivo]</b> ha sido borrado satisfactoriamente.<br><br><br><br>";
} else {
echo "El archivo <b>$_POST[archivo]</b> no se pudo borrar.<br><br><br><br>";
}
}
}else{
echo "Tu no estas autentificado. No puedes entrar aqui!!";
}
El problema es simple. Para eliminar el registro de la base de datos está perfecto, pero para eliminar el archivo esta feo... Porque le indico a unlink que elimine lo seleccionado en el select. Este select se llama "archivo". Que pasa, el value de las option tube que poner la ID del registro de la base de datos, pero al querer borrar el archivo, lo interpreta como el numero de la ID, por ejemplo "5" y no hay una imagen que se llame 5.
Tengo un archivo "subir_imagenes.php", donde subo las imagen. Al subir una imagen, se cambia su nombre, se sube a X directorio y el nombre de la imagen que se subió se registra en un campo de una BD. Además se registran ID y username. El username es igual al que inición sesion. Esto es para que el select lea el campo "imagen". Este campo es igual al nombre de la imagen almacenada.
No se si está bien pensado, si alguien me pudiese ayudar se lo agradeceria mucho.