Foros del Web » Programando para Internet » PHP »

borrar imágenes de un directorio

Estas en el tema de borrar imágenes de un directorio en el foro de PHP en Foros del Web. Hola amig@s! Estoy con el proyecto de carrera, un portal web, y cuando un usuario se registra, sube una imagen que la guardo en un ...
  #1 (permalink)  
Antiguo 14/11/2008, 06:41
Avatar de scout_vlc  
Fecha de Ingreso: julio-2007
Ubicación: Valencia
Mensajes: 141
Antigüedad: 16 años, 9 meses
Puntos: 0
borrar imágenes de un directorio

Hola amig@s!
Estoy con el proyecto de carrera, un portal web, y cuando un usuario se registra, sube una imagen que la guardo en un directorio, y cuando se dan de baja quiero eliminar la imagen apra no ocupar espacio
¿Cómo se hace?
La guardo de esta manera (por si tiene algo que ver):

Código PHP:
 // obtenemos los datos del archivo 
                
$tamano $_FILES["archivo"]['size'];
                   
$tipo $_FILES["archivo"]['type'];
                
$archivo $_FILES["archivo"]['name'];
                
$prefijo substr(md5(uniqid(rand())),0,6);
    
                if (
$archivo != "") {
                    
                
// guardamos el archivo a la carpeta files
                    
$destino =  "usus/".$prefijo."_".$archivo;
                
                    if (
copy($_FILES['archivo']['tmp_name'],$destino))
                    {
                        
$status "Archivo subido: <b>".$archivo."</b>";
                    } 
                    else 
//si da error el copiar la iamgen al directorio, asignamos una por defecto
                    
{
                        
$status "Error al subir el archivo (1)";
                        
$destino =  "usus/usuario.jpg";
                    }
                } else { 
//si est vaco el campo, asignamos la iamgen por defecto
                    
$status "Error al subir archivo (2)";
                    
$destino =  "usus/usuario.jpg";
                } 
Por cierto, una duda, cuando se dan de alta, la iamgen se guarda bien, pero a pesar que el directorio tiene los permisos 755, la imagen en sí no tiene permisos y no aparece, hasta que manualmente vuelvo a darle permisos a todos los archivos que hay dentro del directorio ¿Cömo hago para guardar la imagen con permisos, para que pueda verse?
Gracias!!!
  #2 (permalink)  
Antiguo 14/11/2008, 07:02
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Respuesta: borrar imágenes de un directorio

http://es2.php.net/unlink
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 15/11/2008, 05:33
Avatar de scout_vlc  
Fecha de Ingreso: julio-2007
Ubicación: Valencia
Mensajes: 141
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: borrar imágenes de un directorio

y de darle permisos para que se muestre??? alguien sabe qué hacer??
alguna funcion tipo "chmod"???
  #4 (permalink)  
Antiguo 15/11/2008, 05:50
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Respuesta: borrar imágenes de un directorio

http://www.google.es/search?hl=es&q=...n+Google&meta=
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #5 (permalink)  
Antiguo 16/11/2008, 08:05
Avatar de scout_vlc  
Fecha de Ingreso: julio-2007
Ubicación: Valencia
Mensajes: 141
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: borrar imágenes de un directorio

Hola,
he probado la orden chmod, en la página "confirm.php"
Código PHP:
$destino =  "empresas/".$prefijo."_".$archivo;
chmod"empresas/".$prefijo."_".$archivo0755 ); 
Y cuando ejecuto la página me sale:

Warning: chmod() [function.chmod]: No such file or directory in /home/IG31/al073568/public_html/confirm.php on line 74

¿Qué hago mal?
Gracias
  #6 (permalink)  
Antiguo 16/11/2008, 08:10
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Respuesta: borrar imágenes de un directorio

lógicamente el fichero al que le quieres dar permisosno existe,haz un:
Código PHP:
echo $destino =  "empresas/".$prefijo."_".$archivo
y verifica que ese es el fichero.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #7 (permalink)  
Antiguo 16/11/2008, 08:23
Avatar de scout_vlc  
Fecha de Ingreso: julio-2007
Ubicación: Valencia
Mensajes: 141
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: borrar imágenes de un directorio

si q es, xq guardarlo, lo guarda bien...con esa ruta, y lo guarda en el directorio,y guarda esa URL en la BD
oye, gracias x todo!!!
  #8 (permalink)  
Antiguo 16/11/2008, 08:27
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Respuesta: borrar imágenes de un directorio

Código PHP:
$destino =  "empresas/".$prefijo."_".$archivo
if(is_file($destino))
{
   echo 
"El archivo: ".$destino." existe";
}
else
{
   echo 
"El archivo: ".$destino." NO existe";

__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan

Última edición por ZiTAL; 16/11/2008 a las 08:37
  #9 (permalink)  
Antiguo 16/11/2008, 09:06
Avatar de scout_vlc  
Fecha de Ingreso: julio-2007
Ubicación: Valencia
Mensajes: 141
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: borrar imágenes de un directorio

si!
existe, he hecho el echo y sale bien, además q si lo guarda en el directorio, en al BD guarda la URL bien....no sé que fallo del PHP es....
Me sale esto por pantalla:

empresas/b55e85_logo1mini.jpg
Warning: chmod() [function.chmod]: No such file or directory in /home/IG31/al073568/public_html/confirm.php on line 75


y si accedo a la imagen me pone:
Forbidden

You don't have permission to access /empresas/b55e85_logo1mini.jpg on this server.
  #10 (permalink)  
Antiguo 16/11/2008, 09:25
Avatar de scout_vlc  
Fecha de Ingreso: julio-2007
Ubicación: Valencia
Mensajes: 141
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: borrar imágenes de un directorio

Creo que peude ser por el directorio...que tengo q poner la rita entera,no??
He probado con unlink, que es lo primero que me comentaste, no me da eeror, y lo borra bien:

Código PHP:
    $codreceta $_GET ['codreceta'];
    
$imagen "select imagen from recetas where codreceta =$codreceta";
    
$res_imagen mysql_query ($imagen$link);
    if (
$hayimagen mysql_fetch_array($res_imagen)){
        
$arxivo_borrar $hayimagen['imagen'];

        echo (
$DIRWeb.$arxivo_borrar);
        
unlink($DIRWeb.$arxivo_borrar);
    } 
$DIRWeb es la ruta que está en config.php esto:

/home/IG31/al073568/public_html/recetas/193923_sardina.jpg


y me muestra
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:15.