Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/08/2007, 21:32
gesking
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 17 años, 4 meses
Puntos: 2
Re: Eliminar archivos de directorio

Hola ebe como andas?

Bueno mirá te dejo acá el código...


admin_ocacion.php - Este archivo es para subir las imagenes al directorio
Código PHP:
if(admin()){
echo
"<table width=\"100%\" border=\"0\"><tr><td width=\"70%\"><b>Solo se admiten archivo con formato JPG. Su tamaño debe ser de 400x300 pixeles. Además el nombre no debe contener ni ESPACIO, ni simbolos.</b></td><td width=\"30%\"><div align=\"right\"><img src=\"../imagenes/aviso.jpg\"></div></td></tr></table><br><br><form action=\"admin_ocacion.php\" method=\"post\" enctype=\"multipart/form-data\" name=\"form1\">
  <p align=\"center\">Archivo
   <input name=\"archivo\" type=\"file\" id=\"archivo\">
  </p>
  <p align=\"center\"><input name=\"boton\" type=\"submit\" id=\"boton\" value=\"Enviar\"></p>
</form>"
;
if(
$boton) {
   if (
is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) {
       if(
$HTTP_POST_FILES['archivo']['type']=="image/jpeg") {
           
copy($HTTP_POST_FILES['archivo']['tmp_name'], $HTTP_POST_FILES['archivo']['name']);
           
$subio true;
   }
}

   if(
$subio) {
      echo 
"El archivo se envió correctamente. <a href=\"../admin_menu.php\">Volver</a>";
   } else {
      echo 
"El archivo no se pudo enviar. Recuerda que debe ser un archivo JPG y su tamaño no debe ser demaciado grande.";
   }
   die();
}
} else {
echo
"Esta seccion es solo para administradores !";

Lo de if(admin) es para decir que si esta logueado muestra eso, sino que te diga que "esta pagina es solo para administradores.


index.php - Es la página principal donde se muestran las imagenes
Código PHP:
<?
$carpeta 
'ocaciones/';
$contenido opendir("$carpeta");
$archivo=readdir($contenido);
$archivo=readdir($contenido);
?>

<? while ($archivo=readdir($contenido)) { ?>
<img src="resize.php?img=<?php echo $carpeta.$archivo?>" border="0"><br><br><br></td>
<?
}
closedir($contenido);?>
resize.php - Donde se configura el tamaño, tipo, etc. de la imagen
Código PHP:
if (!isset($w)) 
    { 
    
$w 400
    } 

if (!isset(
$h)) 
    { 
    
$h 300
    } 


SetType($modo,   'integer'); 
SetType($w,      'integer'); 
SetType($h,     'integer'); 
SetType($img,     'string' ); 

function 
percent($p$w
    { 
    return (real)(
100 * ($p $w)); 
    } 

function 
unpercent($percent$whole
    { 
    return (real)((
$percent $whole) / 100); 
    } 

$Prop 'w';
if (isset(
$Pwh)){
    
$Prop $Pwh;
}

$CalidadJPG 80;

$type 'jpg';

if (!
file_exists($img)) 
    { 
    echo 
"Error: No se puede encontrar la imagen: $img."
    exit(); 
    } 

$tmp imagecreatefromjpeg($img);     

if (
$tmp
    { 

$ow  imagesx ($tmp);    
$oh  imagesy ($tmp);   

if (
$modo
    { 
        
$nw $w
        
$nh $h
    } 
    else 
    { 
        if (
$Prop == 'w'
            { 
            
$nw  $w
            
$nh unpercent(percent($nw$ow), $oh);          
            } 
        else if (
$Prop == 'h'
            { 
            
$nh $h
            
$nw unpercent(percent($nh$oh), $ow); 
            } 
        else 
            { 
            
$nh $h
            
$oh $w
            } 
    } 

    
$out imagecreatetruecolor($nw$nh); 
    
imagecopyresampled($out$tmp0000$nw$nh$ow$oh);
    
imagedestroy($tmp); 
    } 
else 
    { 
    echo 
'ERROR: No se pudo crear la imagen fuente.'
    exit; 
    } 


if (
$out
    { 
    
header('Content-type: image/jpeg'); 
    
imagejpeg($out,'',$CalidadJPG); 
    
imagedestroy($out); 
    } 
else 
    { 
    echo 
'ERROR: No se pudo crear la imagen redimensionada.'
    } 

Bueno por ahora es simple, con el archivo admin_ocacion.php subo las imagenes al directorio y en el index.php muestra todas las imagenes.

La cosa es que quiero hacer un simple archivo php donde muestre las imagenes que tengo en el directorio y que me de la opción para borrar cada una de las imagenes, no todas juntas, sino la que yo quiero. Unlink se para que sirve, pero no se como hacer para elegir que imagen eliminar.

Desde ya gracias