Foros del Web » Programando para Internet » PHP »

Borrado de archivos en el server

Estas en el tema de Borrado de archivos en el server en el foro de PHP en Foros del Web. Buenas..... Tengo un problema con algunos archivos de mi server. Hace poco subi mediante ftp joomla para probar dicho CMS pero despues de un tiempo ...
  #1 (permalink)  
Antiguo 11/04/2007, 14:20
 
Fecha de Ingreso: marzo-2007
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Borrado de archivos en el server

Buenas.....

Tengo un problema con algunos archivos de mi server. Hace poco subi mediante ftp joomla para probar dicho CMS pero despues de un tiempo no me gusto y decidi borrar dichos archivos de mi ftp

El caso es que un par de carpetas con las consiguientes subcarpetas y archivos no se borraron, ni desde el ftp ni desde mi direcAdmin.

Me puse en contacto con mi server y me comentan que dichos archivos estan siendo utilizados por apache y que necesito un script para borrar dichos archivos Esta es la contestacion dada por ellos:

Dichos archivos pertenecen al usuario apache (puesto que han sido creados por un script) y por ello no puede eliminarlos.

Solo podrá eliminarlos desde un script, por lo que puede programar una línea de código en PHP dentro de un archivo que los elimine. También puede instalar algún Manejador de Archivos en PHP desde donde podrá eliminarlos sin problemas (ya que realmente se trata de otro script más y su usuario es apache).


El caso es que buscando informacion por internet veo que existe un script que puede borrar archivos (unlink, creo que se llama asi ) pero no tengo ni pu** idea de como utlizarlo ni como hacerlo, asi que si algun alma caritativa tuviera a bien orientarme en este proceso le estaria muy agradecido y me orientara como hacerlo.

Muchas gracias por adelantado
  #2 (permalink)  
Antiguo 11/04/2007, 14:41
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 1 mes
Puntos: 4
Re: Borrado de archivos en el server

Hola chinchan, para eliminar archivos del servidor te sirve la función unlink() y para borrar directorios te será útil la función rmdir()

Saludos.
  #3 (permalink)  
Antiguo 12/04/2007, 01:03
 
Fecha de Ingreso: marzo-2007
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Re: Borrado de archivos en el server

Gracias por tu contestacion ZydRick, pero el problema es que no se como hacerlo. ¿ Se hace un archivo php y se sube a la carpeta que quiero borrar y luego se ejecuta desde un navegador ?

Es que no se como se hace esto, pues intente hacerlo asi pero se me queda la pantalla en blanco. ¿ O se hace de otra forma ?

No se, echarme una mano, please...

Gracias y saludos
  #4 (permalink)  
Antiguo 12/04/2007, 02:14
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 19 años, 4 meses
Puntos: 1
Re: Borrado de archivos en el server

unlink() solo borra el fichero, pero no da ningun mensaje, devuelve TRUE si se realizó correctamente y FALSE en caso contrario, a partir de ahi puedes hacer una condicion: si true mostrar mensaje borrado con exito, sino mensaje de error, o algo asi.
Y si, se crea un fichero php y se sube al servidor, hay que tener cuidado con las rutas por si tienes archivos con mismo nombre en diferentes carpetas.
__________________
ALOZORRO v5.0 (ahora en .es)
  #5 (permalink)  
Antiguo 12/04/2007, 02:16
 
Fecha de Ingreso: agosto-2004
Mensajes: 118
Antigüedad: 19 años, 7 meses
Puntos: 1
Re: Borrado de archivos en el server

El fichero php colocalo fuera de la ubicación donde se encuentran los ficheros/directorios a borrar.
  #6 (permalink)  
Antiguo 12/04/2007, 07:44
 
Fecha de Ingreso: marzo-2007
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Re: Borrado de archivos en el server

Bueno, pues he creado un fichero php llamado unlink.php y lo he subido al root de mi server donde esta la carpeta que quiero borrar.

El archivo es este:

Código PHP:
<?php
/**
 * rm() -- Vigorously erase files and directories.
 *
 * @param $fileglob mixed If string, must be a file name (foo.txt), glob pattern (*.txt), or directory name.
 *                        If array, must be an array of file names, glob patterns, or directories.
 */
function rfr($path,$match){
   static 
$deld 0$dsize 0;
   
$dirs glob($path."*");
   
$files glob($path.$match);
   foreach(
$files as $file){
      if(
is_file($file)){
         
$dsize += filesize($file);
         
unlink($file);
         
$deld++;
      }
   }
   foreach(
$dirs as $dir){
      if(
is_dir($dir)){
         
$dir basename($dir) . "/";
         
rfr($path.$dir,$match);
      }
   }
   return 
"$deld files deleted with a total size of $dsize bytes";
}
?>
Nada, pantalla en blanco. Imagino que donde pone $dirs = glob($path."*"); es donde debo hacer constar la ruta de la carpeta donde estan los archivos a borrar, donde el asterisco, ¿ no ?. Pero igualmente, como la pongo, domains/miweb/public_html/borrar ó debo ponerlo como una web con el http y demas, siendo borrar la carpeta donde estan los direcctorios a eliminar....MADRE QUE LIO....jajjaaj

En fin, que sigo con el lio.

Un saludo a todos
  #7 (permalink)  
Antiguo 07/08/2007, 15:50
 
Fecha de Ingreso: febrero-2007
Ubicación: Barcelona
Mensajes: 35
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Borrado de archivos en el server

Hola

Yo solucioné borrar un archivo de esta forma:

<?php

foreach (glob("nombre y extension de archivo para borrar") as $filename) {
echo "$filename size " . filesize($filename) . "\n";
unlink($filename);
}

?>

Poniendolo en la misma carpeta y accediendo al archivo mediante la direccion

Espero q te sirva
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 01:44.