Foros del Web » Programando para Internet » PHP »

No funciona unlink();

Estas en el tema de No funciona unlink(); en el foro de PHP en Foros del Web. Muy buenas, segun lo que sé, la funcion unlink sirve para borrar archivos del servidor. Bien, tengo las carpetas involucradas con permisos '777', es decir, ...
  #1 (permalink)  
Antiguo 05/01/2011, 22:46
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 15 años, 5 meses
Puntos: 5
Pregunta No funciona unlink();

Muy buenas, segun lo que sé, la funcion unlink sirve para borrar archivos del servidor.
Bien, tengo las carpetas involucradas con permisos '777', es decir, todos.
al final del codigo estan los unlink();

Lo que deseo es mostrar la imagen, y cuando se muestre borrarla del servidor, la unica manera que se me ocurrio fue hacer esto, si conocen otra agradeceria que me lo comunicacen ...
Si hay alguna funcion unix que se pueda ejecutar con php para borrar el contenido de una carpeta o algo ...


Código PHP:
<?php 
error_reporting
(E_ALL);
ini_set('display_errors'1); 

include(
"conexion.php");

$idir "images/";   // Path To Images Directory
$tdir "images/thumbs/";   // Path To Thumbnails Directory
if ($_POST['width'] > 800 && $_POST['height'] > 800){
echo 
"Measures introduced should be less than 1024 pixels";
?>
<script LANGUAGE="JavaScript">
function redireccionar() 
{
javascript:history.go(-1)

setTimeout ("redireccionar()", 5000);
</script>
<?php 
exit; }

$twidth $_POST['width'];   // Maximum Width For Thumbnail Images
$theight $_POST['height'];   // Maximum Height For Thumbnail Images
$prefijo substr(md5(uniqid(rand())),0,5); //Random Pref

// Uploading/Resizing Script
  
$url $_FILES['imagefile']['name'];   // Set $url To Equal The Filename For Later Use
  
if ($_FILES['imagefile']['type'] == "image/jpg" || $_FILES['imagefile']['type'] == "image/jpeg" || $_FILES['imagefile']['type'] == "image/pjpeg") {
    
$file_ext strrchr($_FILES['imagefile']['name'], '.');   // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php
    
$copy copy($_FILES['imagefile']['tmp_name'], "$idir".$prefijo."_" $_FILES['imagefile']['name']);   // Move Image From Temporary Location To Permanent Location
    
if ($copy) {   // If The Script Was Able To Copy The Image To It's Permanent Location
      
print 'Image uploaded successfully.<br />';   // Was Able To Successfully Upload Image
      
$simg imagecreatefromjpeg("$idir".$prefijo."_" $url);   // Make A New Temporary Image To Create The Thumbanil From
      
$currwidth imagesx($simg);   // Current Image Width
      
$currheight imagesy($simg);   // Current Image Height
      
if ($currheight $currwidth) {   // If Height Is Greater Than Width
         
$zoom $twidth $currheight;   // Length Ratio For Width
         
$newheight $theight;   // Height Is Equal To Max Height
         
$newwidth $currwidth $zoom;   // Creates The New Width
      
} else {    // Otherwise, Assume Width Is Greater Than Height (Will Produce Same Result If Width Is Equal To Height)
        
$zoom $twidth $currwidth;   // Length Ratio For Height
        
$newwidth $twidth;   // Width Is Equal To Max Width
        
$newheight $currheight $zoom;   // Creates The New Height
      
}
      
$dimg imagecreate($newwidth$newheight);   // Make New Image For Thumbnail
      
imagetruecolortopalette($simgfalse256);   // Create New Color Pallete
      
$palsize ImageColorsTotal($simg);
      for (
$i 0$i $palsize$i++) {   // Counting Colors In The Image
       
$colors ImageColorsForIndex($simg$i);   // Number Of Colors Used
       
ImageColorAllocate($dimg$colors['red'], $colors['green'], $colors['blue']);   // Tell The Server What Colors This Image Will Use
      
}
      
imagecopyresized($dimg$simg0000$newwidth$newheight$currwidth$currheight);   // Copy Resized Image To The New Image (So We Can Save It)
      
imagejpeg($dimg"$tdir".$prefijo."_" $url);   // Saving The Image
      
imagedestroy($simg);   // Destroying The Temporary Image
      
imagedestroy($dimg);   // Destroying The Other Temporary Image
      
print 'Image resized created successfully.  <br />';   // Resize successful
      
echo '<img src="images/thumbs/'.$prefijo.'_'.$url.'" />  <br />';


    } else {
      print 
'<font color="#FF0000">ERROR: Unable to upload image.</font>  <br />';   // Error Message If Upload Failed
    
}
  } else {
    print 
'<font color="#FF0000">ERROR: Wrong filetype (has to be a .jpg or .jpeg. Yours is ';   // Error Message If Filetype Is Wrong
    
print $file_ext;   // Show The Invalid File's Extention
    
print '.</font>  <br />';
    
unlink("$tdir".$prefijo."_" $url);
    
unlink("images/f7105_18.jpg");
?>

Saludos

PD: el ultimo unlink esta asi porque lo use de prueba para ver si me borraba un archivo seleccionado pero asi no funciono tampoco.
  #2 (permalink)  
Antiguo 06/01/2011, 07:34
 
Fecha de Ingreso: junio-2010
Mensajes: 59
Antigüedad: 14 años, 6 meses
Puntos: 5
Respuesta: No funciona unlink();

Hola:
el unlink funciona, de hecho yo lo uso, pero el unlink es solo para borrar un archivo, para borrar carpetas con contenido, el codigo es:
Código PHP:
function eliminarDir($pathCarpeta){
                try {
                foreach(
glob($carpeta."/*") as $archivos_carpeta)
                {
                    if(
is_dir($archivos_carpeta)) eliminarDir($archivos_carpeta);
                    else 
unlink($archivos_carpeta);
                }
                
rmdir($carpeta);
                return 
true;
                } catch (
Exception $e) {
                    return 
false;
                }

ten mucho cuidado al dar el path para eliminar directorios, porque puesde por terminar de eliminar todo tu proyecto (dimelo a mi)
En cuanto a los permisos, tienes que dar permisos a apache sobre el directorio, usa los siguientes comando:
chown -R apache.apache /rutaatucarpeta
chmod -R 775 /rutaatucarpeta
Saludos
  #3 (permalink)  
Antiguo 06/01/2011, 12:23
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 14 años
Puntos: 51
Respuesta: No funciona unlink();

Probá con:

Código PHP:
Ver original
  1. @unlink("$tdir".$prefijo."_" . $url);
  2.     @unlink("images/f7105_18.jpg");

Igualmente, tratá de darle la ruta completa para manejar archivos
  #4 (permalink)  
Antiguo 06/01/2011, 12:33
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años, 5 meses
Puntos: 641
Respuesta: No funciona unlink();

Cita:
Iniciado por rodrigo_1986 Ver Mensaje
ten mucho cuidado al dar el path para eliminar directorios, porque puesde por terminar de eliminar todo tu proyecto (dimelo a mi)
Jojo ya somos dos, , bueno de todo se aprende

Etiquetas: unlink
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 08:34.