Angular 2 avanzado: Gestión de archivos en PHP

Eliminar un archivo con comandos PHP

¡Prueba gratis durante 10 días

nuestros 1218 cursos !

Prueba gratis Mostrar modalidades de suscripción
En esta lección vamos a aprender un proceso en dos partes, primero vamos a capturar información desde el URL para conocer el archivo y ruta que el usuario desea trabajar, luego usaremos los comandos de PHP para eliminar un archivo del servidor.
07:58

Transcripción

En esta lección, vamos a aprender cómo crear un código de PHP que nos permita eliminar archivos dentro de una carpeta específica. Voy a crear un documento dentro de la carpeta "servicios", que es donde estoy almacenando los documentos que voy a utilizar desde una aplicación externa. Y acá voy a crear un nuevo archivo, que se va a llamar "borrar-archivos.php". Este documento me va a servir a mí para eliminar archivos externos. Ahora, lo que vamos a hacer es que vamos a comenzar incluyendo los encabezados de PHP. Y para asegurarnos de que este documento se muestre únicamente si estamos utilizando el método "GET" desde nuestro servidor, voy a incluir una condicional donde voy a evaluar que únicamente si la llamada de servidor, utilizando el parámetro "REQUEST_METHOD", sea igual a "GET", o sea, que únicamente se ejecute si usamos el parámetro "GET" para mostrar este documento. En caso contrario, vamos a mostrar un mensaje de error, donde el usuario va a saber que este documento no acepta cualquier otro método que no sea "GET". Y, sabiendo esto, vamos a comenzar a hacer el código de nuestra aplicación. Vamos a ir directamente al grano y voy a crear una variable que se llama "borrar", donde voy a utilizar un comando de PHP que se llama "unlink". El comando "unlink" me permite a mi eliminar cualquier archivo. Lo único que tengo que hacer es definirle la ruta. Acá yo puedo definir, por ejemplo, archivo "test.zip" y, con esto, va a eliminar el archivo "test.zip" que se encuentre dentro de la carpeta en que se ejecuta este archivo. Ahora, yo necesito definirlo, en qué se encuentra este archivo. También, el método "unlink" nos devuelve un valor booleano de cierto o falso y nosotros podemos ejecutar una condicional, para saber si se ha realizado correctamente el proceso de borrado. Así que, voy a aprovechar también para crear una condicional, donde dice que si "borrar"... Tengo un error de sintaxis acá. Vamos a poner que si la variable "borrar" es verdadera, nos devuelva un resultado y, en caso contrario, si no se pudo borrar correctamente el archivo que estamos definiendo acá, entonces que nos devuelva un mensaje. En este caso, yo voy a definir que el mensaje venga en un formato JSON. Así que, vamos a poner que nos devuelva, a través del método "echo", utilizando el formato "JSON", un arreglo, donde dice que el estado está perfecto, que está "ok", cuando nosotros hemos realizado correctamente el proceso de borrar. En caso contrario, también vamos a devolver un mensaje para que el usuario pueda entender de que el proceso se realizó correctamente o no. Y, en caso de que no funcione correctamente, o sea que "borrar" nos devuelva el valor "FALSE", entonces vamos a decir que el status ya no es "ok", sino que es un error. Y el error es que "No se pudo eliminar el archivo". Ahora, esto está funcionado correctamente, y, cada vez que yo ejecute este código, vamos a borrar el archivo "test.zip". Sin embargo, nosotros necesitamos hacer algo un poco más dinámico porque no vamos a poder borrar otro archivo que no sea "test.zip". Así que vamos a modificar un poco este código. Y lo que voy a hacer es que voy a crear una nueva condicional. Y, dentro de esta condicional, voy a ejecutar todo este código. Este código ahora sólo se va a ejecutar si el valor que defino acá es cierto. Y el valor que voy a definir es que si la variable "GET"... Recordemos que las variables "GET" son las que nos llegan a través del URL y sabemos que van a llegar porque estamos utilizando el método "GET" y lo estamos validando. Y, en este caso, la variable, yo la voy a definir como "ruta-archivo", que es en donde va a estar la ruta del archivo que quiero borrar. Si existe esta variable, entonces se va a ejecutar todo este código. Y también voy a utilizar la verificación que estoy haciendo. Y como sé que, definitivamente, el valor de "ruta-archivo" existe, entonces le voy a decir al comando "unlink" que borre únicamente el archivo que viene dentro de ese parámetro. Ahora, ¿cómo va a funcionar esto? Vamos a guardar el código, vamos a revisar acá la respuesta. Vamos a actualizar. Y yo estoy acá revisando mi servidor dentro de la carpeta "servicios", que es en donde está el archivo que acabo de crear. Vamos a entrar a "borrar-archivos". Y, por ahora, no tenemos ninguna respuesta. De hecho, podemos examinar si tenemos algún error, utilizando los encabezados que se encuentran acá. Y podemos validar si tenemos algún error de código o algún error de sintaxis. Y tenemos acá que justamente me está diciendo que no existe definida la "ruta-archivo". Así que, vamos a incluir esa variable. Las variables por "GET" se ponen dentro del URL, "ruta-archivo". Y tenemos que definir cuál es la ruta que va a tener. Ahora, yo tengo algunos archivos que se encuentran dentro de "../archivos" y, en este caso, vamos a ver, voy a poner un archivo específico. Si revisamos acá... Te voy a mostrar la carpeta en donde se encuentran mis archivos. Vemos que, acá, si entro a la carpeta "htdocs", tengo "servicios" y tengo una carpeta "archivos". Estoy poniendo "..", que es la sintaxis que me va a llevar a un nivel superior, y defino la carpeta "archivos". Ahora, vamos a borrar este archivo que se llama "test.zip". Venimos acá y le definimos entonces que me borre una carpeta superior, que entre a la carpeta "archivos" y que busque el archivo "test.zip". Hacemos clic y me dice que el estado está "ok", o sea, que se borró efectivamente este archivo. Si vuelvo a ejecutar esta función, me va a dar un error y me va a decir que el archivo no se encuentra. De hecho, también me está mostrando un "status" de "error". Importante, antes de sacar a producción este archivo, siempre tenemos que eliminar esta sección para que no se muestren los errores y veamos únicamente el mensaje que nosotros queremos mostrar que, en este caso, es que no se puede eliminar el archivo. Vamos a revisar cuál es el resultado dentro de la carpeta que estamos trabajando y vemos que ya no se encuentra el archivo que yo acabo de borrar. Vamos a copiar. Vamos a crear otra vez un archivo. Vamos a cambiarle el nombre y le vamos a poner "prueba2", Voy a copiar el nombre. Y vamos a dejar esta ventana acá y esta otra acá para que podamos ver el resultado de inmediato. Listo. Entonces vamos a cambiar el nombre del parámetro, le vamos a decir a nuestro documento que borre ahora el archivo que se encuentra dentro de "archivos/prueba2.zip", nótese que la dirección es relativa. Y vemos que "prueba2" ya se eliminó. Esta es la forma en que nosotros podemos eliminar archivos, utilizando también PHP, pero una forma dinámica gracias a las variables que nos llegan por "GET".

Angular 2 avanzado: Gestión de archivos en PHP

Aprende a crear vínculos entre PHP y Angular 2 mediante un ejemplo práctico en el que trabajarás del lado del servidor con PHP y la parte web con la tecnología Angular de Google.

3:20 horas (33 Videos)
Actualmente no hay comentarios.
 
Software:
Fecha de publicación:19/04/2017

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.