Foros del Web » Programando para Internet » PHP »

eliminar imagen directorio específico

Estas en el tema de eliminar imagen directorio específico en el foro de PHP en Foros del Web. hola. bueno. os cuento lo que tengo hasta ahora. tengo un formulario de registro por medio del cual, al registrarse los usuarios, se crea una ...
  #1 (permalink)  
Antiguo 02/03/2007, 03:52
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 18 años
Puntos: 1
eliminar imagen directorio específico

hola. bueno. os cuento lo que tengo hasta ahora.
tengo un formulario de registro por medio del cual, al registrarse los usuarios, se crea una carpeta o directorio en el servidor con el nombre que han dado al registrarse. el código que uso para procesar el formulario es este. por el, como os digo, registro al usuario en la base de datos y a la vez creo el directorio asociado al mismo:

Código PHP:
$cnx mysql_connect("servidor""user""pass"); 
mysql_select_db("basededatos"$cnx);
$nombre=$_POST['nombre'];
$apellidos=$_POST['apellidos'];
$empresa=$_POST['empresa'];
$email=$_POST['email'];
$password=$_POST['password'];

/////con este código compruebo si el usuario o el email ya existen
$cnx mysql_query("select count(*)  from tabladelabase where nombre='$nombre' or email='$email'");  
    if(
mysql_result($cnx,0)) {  
        echo 
'El usuario ya existe en la base de datos o ya está registrado el email. Haz click <a href="javascript:history.back()">aquí</a> para regresar.' ; die();  
    } else {  
        
$password md5(md5($_POST["password"]));  
    
////creo el directorio
if(!file_exists($DESTINO)) //comprobamos que existe o no el directorio

///creo la carpeta con ese nombre y doy los permisos que quiero
     
$DESTINO="$nombre";
      
mkdir($DESTINO,0777);  
}     

////por último, introducimos en la tabla de la base de datos los campos
 
mysql_query("INSERT INTO tabladelabase (nombre,apellidos,empresa,email,password) VALUES('$nombre','$apellidos','$empresa','$email','$password')");

////hecho esto, envío un email al usuario con sus datos de acceso.
         
mail($email,"Ya estás registrado!","Hola, $nombre $apellidos!\n\nHa sido registrado!\n\nSu nombre de usuario es: $nombre\nSu contraseña es: ".$_POST["password"]."\n\nPuedes ingresar mediante el siguiente link: http://www.miweb.com/login\n\nGracias por registrarte!\nExitos","From: <[email protected]>\r\n"); 
           

        echo 
'Has sido registrad@. Haz click aquí <a href="index.php">aquí</a> para regresar a la página principal.'; die();  
   } 
bien. con estoo como digo creo al usuario en la base de datos y a su vez creo el directorio. luego, tengo un panel de acceso al área registrada de cada usuario que, con el nombre y password que introdujo anteriormente, accede a su directorio. esto lo hago así:

Código PHP:
<?php  
session_start
(); 
?> 
Usuario:
<INPUT type="text" class=text1 size=18 name="nombre">
Password:
<INPUT type="password" class=text1 size=18 name="password">
esto lo procesa en un archivo que es este:
Código PHP:
session_start();
$_SESSION['nombre']=$nombre;
 
$nombre $_POST['nombre']; 
$password $_POST['password']; 
$password md5(md5($_POST["password"]));//encriptamos el password para que sea igual que el que hay en la base de datos.
$cnx mysql_query("SELECT nombre, password FROM tabla2 WHERE nombre='$nombre' AND password='$password'"); 

if(
mysql_num_rows($cnx) == 1){  
$nombre mysql_result($cnx,0,'nombre'); 
$password mysql_result($cnx,0,'password'); 
session_start(); 
session_register(); 
$_SESSION['nombre']=$nombre
$_SESSION['password']=$password
header("Location: panel.php"); 
} else { 
header("Location: error.php"); 

bien. con esto y a través de las sessiones me lleva al panel concreto de ese usuario. en el panel, hay un enlace que me muestra el contenido de ese directorio en concreto y los archivos que el usuario previamente ha subido a él. este archivo mostrar lo hago así:

Código PHP:
session_start();
$_SESSION['nombre']=$nombre;
$path $_GET['path']; 
   if(!isset(
$path)) 
   { 
       
$path "$nombre"
   } 
   if (
$handle opendir($path))  
   { 
       
$curDir substr($path, (strrpos(dirname($path."/."),"/")+1)); 
       print 
"Directorio Actual: ".dirname($path."/.")."<br>************************<br>"

       while (
false !== ($file readdir($handle)))  
       { 
           if (
$file != "." && $file != "..")  
           { 
               
$fName $file
               
$file $path.'/'.$file
               if(
is_file($file)) 
               { 
                   print 
"&nbsp;&nbsp;<a href='".$file."'>".$fName."</a>&nbsp;&nbsp;&nbsp; ".filesize($file)." bytes<br>"
               } 
                
           } 
       } 

       
closedir($handle); 
   } 
bien. y vamos al lío. lo que yo quiero saber es cómo hacer para poner un enlace al lado de cada archivo (que es esta línea de código "<a href='".$file."'>".$fName."</a>&nbsp;&nbsp;&nbsp; ".filesize($file)." bytes<br>") para poder eliminar ese archivo en concreto de ese servidor en cuestión. por favor, echadme una mano. gracias....
  #2 (permalink)  
Antiguo 02/03/2007, 05:37
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 8 meses
Puntos: 62
Re: eliminar imagen directorio específico

create una pagina ejemplo:

borrar.php, en donde coges la ruta del archivo por GET, ejemplo:

borrar.php?carpeta=usuario&archivo=imagen.jpg

Código PHP:
$carpeta=$_GET["carpeta"];
$archivo=$_GET["archivo"];
//
$ruta=$carpeta."/".$archivo;
//
unlink($ruta); 
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 02/03/2007, 06:08
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 18 años
Puntos: 1
Re: eliminar imagen directorio específico

si, pero es que hay un problema. a ver, la ruta me la da $file, con lo cual yo pongo <a href=borrar.php?id=$file> y luego en la página borrar.php recupero $file y elimino. pero me da el siguiente mensaje de error:
Código PHP:
Warningunlink(): No such file or directory in /borrar.php on line 3 
  #4 (permalink)  
Antiguo 02/03/2007, 06:12
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 8 meses
Puntos: 62
Re: eliminar imagen directorio específico

primero haz un echo $file, para saber si te recoge bien la variable, puede ser que no te recoja bien las barras /
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #5 (permalink)  
Antiguo 02/03/2007, 06:29
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 18 años
Puntos: 1
Re: eliminar imagen directorio específico

solucionado, gracias...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 21:28.