Foros del Web » Programando para Internet » PHP »

Eliminación de archivos por medio de PHP

Estas en el tema de Eliminación de archivos por medio de PHP en el foro de PHP en Foros del Web. Hola! ¡Hola! Necesito es ayuda para eliminar archivos por medio de PHP y con un cuadro de texto en donde se pueda añadir el nombre ...
  #1 (permalink)  
Antiguo 18/01/2006, 09:29
Avatar de emanmora1  
Fecha de Ingreso: enero-2006
Mensajes: 5
Antigüedad: 18 años, 2 meses
Puntos: 0
Eliminación de archivos por medio de PHP

Hola!
¡Hola! Necesito es ayuda para eliminar archivos por medio de PHP y con un cuadro de texto en donde se pueda añadir el nombre del archivo y cuando se le de clic en el boton el archivo(s) se elimine(n) de la carpeta.


Encontré el codigo en la red para subir archivos y lo posteo por si alguien lo llega a necesitar:

Por medio de este articulo aprenderemos la forma de subir un archivo al servidor por medio del navegador. El único requisito para que todo funcione es que la carpeta donde vaya a subir el archivo tenga los permisos adecuados ("777").

El Formulario
Lo primero que debemos armar es el formulario para permitir que el usuario indique que archivo desea subir al servidor, para esto utilizamos la etiqueta HTML <input> con su atributo type establecido a "file", veamos el código HTML...

<form action="<?=$PHP_SELF?>" 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>


Tengamos en cuenta varios detalles importantes: el formulario esta apuntado (action) a el archivo php actual ($PHP_SELF) y el atributo enctype esta establecido a "multipart/form-data", esto es así por que debemos enviar un archivo. Otro detalle importante son los nombre de los campos "archivo" para el input y "boton" para el submit.

El Script
Bueno llego el turno de crear el script que hará el trabajo de subir el archivo, este script php va ubicado al comienzo de la pagina...

<?
if($boton) {
if (is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) {
copy($HTTP_POST_FILES['archivo']['tmp_name'], $HTTP_POST_FILES['archivo']['name']);
$subio = true;
}

if($subio) {
echo "El archivo subio con exito";
} else {
echo "El archivo no cumple con las reglas establecidas";
}
die();
}
?>


Lo primero que tenemos es un bloque if que detecta si se envió el formulario, para esto preguntamos si la variable $boton esta presente, si esta presente quiere decir que se envió el formulario entonces entramos en el segundo if que comprueba que se haya enviado algún archivo, si se envió el archivo se copia (copy) desde el directorio temporario donde subió al lugar donde queremos alojarlo, en este caso al mismo directorio del script PHP.

Que es el $HTTP_POST_FILES ?
Seguro que observaron que esta variable aparece muy seguido en nuestro script, la misma es una variable del tipo matriz (array) predefinida de PHP que contiene la información del archivo que estamos subiendo, por ejemplo...

$HTTP_POST_FILES['archivo']['tmp_name'] - Guarda la ruta donde esta alojado temporalmente el archivo.
$HTTP_POST_FILES['archivo']['name'] - Guarda el nombre del archivo (ej: "dibujo.gif").
Esos son algunos de los valores que tiene esa variable, mas adelante veremos mas, lo importante es aprender la forma de acceder a esos valores...

$HTTP_POST_FILES['nombre_del_input_file']['clave']

Volvamos al script, si todo salió bien se establece la variable $subio a true para que luego sepamos que mensaje mostrarle al usuario "El archivo subio con éxito" o "El archivo no cumple...".

Avanzando Mas
El ejemplo mostrado anteriormente fue algo básico como para comprender el funcionamiento pero a la hora de implementarlo seguramente nos surgirán problemas como "¿Que pasa si me suben archivos muy grandes?" "¿Que pasa si en ves de una imagen suben otro tipo de archivo?" ...ETC.

Para solucionar esto utilizaremos el $HTTP_POST_FILES que contiene mas información del archivo enviado, veamos...

$HTTP_POST_FILES['archivo']['size'] - Devuelve el tamaño del archivo (ej: 25445)
$HTTP_POST_FILES['archivo']['type'] - Devuelve el tipo de archivo.(ej: image/gif)
Con esta información podemos mediante bloques if ir viendo si el archivo supera los x bytes de tamaño o es de otro formato, veamos el ejemplo de el script avanzado...

<?
if($boton) {
if (is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) {
if($HTTP_POST_FILES['archivo']['size'] < 85000) {
if($HTTP_POST_FILES['archivo']['type']=="image/gif") {
copy($HTTP_POST_FILES['archivo']['tmp_name'], $HTTP_POST_FILES['archivo']['name']);
$subio = true;
}
}
}

if($subio) {
echo "El archivo subio con exito";
} else {
echo "El archivo no cumple con las reglas establecidas";
}
die();
}
?>
  #2 (permalink)  
Antiguo 18/01/2006, 09:53
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años
Puntos: 33
De acuerdo

Esta función puede ayudarte unlink()
  #3 (permalink)  
Antiguo 18/01/2006, 10:05
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 20 años, 3 meses
Puntos: 19
mmmm seria bueno que pongas el link de donde lo encontraste ...
http://www.webtaller.com/construccio...chivos-php.php

queres eliminar el archivo??? te recomiendo que uses el buscador ...

http://www.forosdelweb.com/showthrea...ghlight=unlink

mas precisamente ...
http://ar2.php.net/manual/es/function.unlink.php
saludos
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #4 (permalink)  
Antiguo 18/01/2006, 10:42
Avatar de emanmora1  
Fecha de Ingreso: enero-2006
Mensajes: 5
Antigüedad: 18 años, 2 meses
Puntos: 0
Mira, la verdad es que soy un neofito en PHP. Apenas voy aprendiendo, sólo que ahora estoy porque tengo que entregar un trabajo

En la web si encontré info sobre el unlink, pero necesito ayuda para poder ingresar un nombre de archivo en una linea o lineas de texto de una forma y luego que le de clic en el boton de borrar desaparezcan de la carpeta y como hacer para que trabajen juntos el codigo de PHP y la forma.
  #5 (permalink)  
Antiguo 18/01/2006, 13:04
Avatar de emanmora1  
Fecha de Ingreso: enero-2006
Mensajes: 5
Antigüedad: 18 años, 2 meses
Puntos: 0
Hola de nuevo. Tengo una nueva duda:
En el codigo que ingresé al principio:

<?
if($boton) {
if (is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) {
copy($HTTP_POST_FILES['archivo']['tmp_name'], $HTTP_POST_FILES['archivo']['name']);
$subio = true;
}

if($subio) {
echo "El archivo subio con exito";
} else {
echo "El archivo no cumple con las reglas establecidas";
}
die();
}
?>


¿Como le hago para subir varios archivos al mismo tiempo? Me imagino que es en esta linea: ($HTTP_POST_FILES['archivo']['tmp_name'])) en donde 'archivo' es el nombre del campo de texto y al incluirle nuevos campos de texto, por ejemplo 'archivo2' funcionaría para un nuevo archivo. Ahora ¿como incluyo el 'archivo2' dentro de 'archivo'? Gracias por su ayuda....ah y todavía no resuelvo como eliminar archivos....
  #6 (permalink)  
Antiguo 18/01/2006, 13:11
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años
Puntos: 33
CHECA ESTE LINK PARA SUBIR MULTIPLES ARCHIVOS

http://tr.php.net/manual/es/features...d.multiple.php
  #7 (permalink)  
Antiguo 18/01/2006, 14:07
Avatar de emanmora1  
Fecha de Ingreso: enero-2006
Mensajes: 5
Antigüedad: 18 años, 2 meses
Puntos: 0
¡Gracias MAULED! Funicionó de maravilla. Si de repente te topas con algo para eliminar multiples archivos te acuerdas de mi, vale?

Buen día carnales del foro!
  #8 (permalink)  
Antiguo 19/01/2006, 08:55
Avatar de emanmora1  
Fecha de Ingreso: enero-2006
Mensajes: 5
Antigüedad: 18 años, 2 meses
Puntos: 0
Este fue el código para subir multiples archivos y los sube sin problemas, sólo que aparece en la ventana del explorador que hay un argumento inválido en la linea 16 o sea: foreach ($_FILES["pictures"]["error"] as $key => $error) {

En ese caso ¿qué se le considera argumento?



<html>
<head>
<title>HTML Form for uploading image to server</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
<p>Pictures:
<input type="file" name="pictures[]" />
<input type="file" name="pictures[]" />
<input type="file" name="pictures[]" />
<input type="submit" value="Send" />
</p>
</form>
<?php
//places files into same dir as form resides
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
echo"$error_codes[$error]";
move_uploaded_file(
$_FILES["pictures"]["tmp_name"][$key],
$_FILES["pictures"]["name"][$key]
) or die("Problems with upload");
}
}
?>
</body>
</html>
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 16:48.