Comunidad PHPeros
Lenguajes => PHP => Tutoriales PHP => Mensaje iniciado por: kekoman en 25 de Noviembre de 2007, 20:29:22 pm
-
Buenas, para los que tienen servicios de subida de imagenes, ficheros, etc.. :)
Para evitar tener 2 imagenes o 2 archivos con el mismo contenido :)
Codigo sql
CREATE TABLE `files` (
`md5` text collate latin1_general_ci NOT NULL
`file_name` text collate latin1_general_ci NOT NULL
)
comprobar.php
$md5 = file_get_contents("$file"); //Cojemos el codigo fuente del archivo subido
$sql = "SELECT * FROM files `header` WHERE md5='mysql_real_escape_string($md5)'");
$file = mysql_fetch_array("$sql");
if ($file) { //Comprobamos si el codigo fuente existe en la base de datos
echo "el archivo ya existe, esta en $file[file_name]"; // si el codigo fuente ya existe le avisamos de que ya existe un archivo con contenido igual!
unlink ("$file"); //borramos el archivo (OPCIONAL)
} else {
echo "Archivo subido con exito"; //Si el codigo fuente no existe entonces le avisamos de que se ha subido con exito, luego guardamos en la base de datos los datos del archivo para evitar que se suba otra vez
$sql = "INSERT INTO `files` VALUES ($md5, '$file');";
mysql_query($sql);
}
Espero que os haya servido mi codigo O0 O0
Saludos! ;) ;)