Foros del Web » Programando para Internet » PHP »

Borrar imagen

Estas en el tema de Borrar imagen en el foro de PHP en Foros del Web. Hola a todos! Tengo un script donde listo todas las imagenes que tengo en un directorio. Con una imagen y un confirm de javascript pregunta ...
  #1 (permalink)  
Antiguo 07/10/2011, 14:06
Avatar de ale_dla  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 15 años
Puntos: 3
Borrar imagen

Hola a todos!
Tengo un script donde listo todas las imagenes que tengo en un directorio.
Con una imagen y un confirm de javascript pregunta si desea eliminar la imagen.
No se bien como hacer el unlink para eliminar la imagen, me muestra un error de Permission denied.

Codigo:
Código PHP:
<script language="JavaScript" type="text/javascript">
function delnews(newsTitle)
{
    if (confirm("Esta seguro de eliminar  la foto: '" + newsTitle + "'"))
    {
        window.location.href = 'fotos.php?delnews=' + newsTitle;
    }
}
</script>
<?php
if(isset($_GET['delnews']))
    {
        
//areglo de extensiones permitidas
        
$arr_exts=array("jpg","gif","png","JPG");
        
        
//definimos el path de acceso
        
$path "../image/portada/";
        
        
//abrimos el directorio
        
$dir opendir($path);
        
        
//Mostramos las informaciones
        
$elemento=readdir($dir);
                
// borro la imagen
                 
unlink($path.$elemento);
         
        
//header("Location:".$_SERVER['PHP_SELF']);
        
$body .= '<div class="success fback">
                    <p>Foto eliminado!</p>
                    <a href="#" class="close">CERRAR</a>
                </div>'
;
        
    }
//areglo de extensiones permitidas
    
$arr_exts=array("jpg","gif","png","JPG");
    
//definimos el path de acceso
    
$path "../image/portada/";
    
//abrimos el directorio
    
$dir opendir($path);
    
//Mostramos las informaciones
    
while ($elemento=readdir($dir))
    {
       
$ext=substr($elemento,-3);
       if((
$elemento!='.') && ($elemento!='..') && in_array($ext,$arr_exts))
       {
           
$body .= '<tr>';
           
$body .= '<td><img src="'.$path.$elemento.'" width="150" height="150"></td>';
           
$body .= '<td>'.$elemento.'</td>';
           
$body .= "<td align='center'><a href=\"javascript:delnews('".$elemento."')\"><img src='image/borrar.png' alt='Borrar' /></a></td>";
           
$body .= '</tr>';
       }
        
    }
?>
No estoy utilizando correctamente la función unlink.
Quien pueda ayudarme se los agradezco.
Muchas gracias!
  #2 (permalink)  
Antiguo 07/10/2011, 14:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Borrar imagen

¿El mensaje de error completo cual es?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/10/2011, 14:09
Avatar de ale_dla  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 15 años
Puntos: 3
Respuesta: Borrar imagen

Warning: unlink(../image/portada/.) [function.unlink]: Permission denied in C:\Program Files\EasyPHP-5.3.6.1\www\admin\fotos.php on line 54

Linea 54:
Código PHP:
unlink($path.$elemento); 
Muchas gracias por responder!
  #4 (permalink)  
Antiguo 07/10/2011, 14:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Borrar imagen

Eso es porque estas pasando a unlink, el resultado de readdir. A unlink le tienes que pasar el path completo de la imagen, no es necesario que uses opendir/readdir.

Saludos.
  #5 (permalink)  
Antiguo 07/10/2011, 14:12
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Borrar imagen

lo que dice GatorV es correcto

Edito: me ganaste al contestar

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125

Etiquetas: imagenes
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 13:35.