Trabajando con archivos: File_exists, Fopen, Fwrite, Fclose, Fgets, copy, unlink.
¿Qué es un archivo?
Un archivo es simplemente un recurso para almacenar información en una computadora.
Los archivos se usan generalmente para almacenar información como;
- Configuraciones de un programa
- Datos simples como nombres de contacto y los números de teléfono.
- Imágenes, fotos, fotos, etc.
En este tutorial, aprenderás
- Soporte de formatos de archivo PHP
- File_exists
- Fopen
- Fwrite
- Fclose
- Fgets
- copy
- Eliminar un archivo
- File_get_contents
Soporte de formatos de archivo PHP
Las funciones de archivo PHP admiten una amplia gama de formatos de archivo que incluyen;
- File.txt
- File.log
- File.custom_extension, es decir, file.xyz
- File.csv
- File.gif, file.jpg etc.
- Los archivos proporcionan una solución de almacenamiento de datos rentable y permanente para datos simples en comparación con las bases de datos que requieren otro software y habilidades para administrar los sistemas DBMS.
- Desea almacenar datos simples, como registros del servidor, para su posterior recuperación y análisis.
- Desea almacenar la configuración del programa, es decir, program.ini
Functions
PHP proporciona una forma conveniente de trabajar con archivos a través de su rica colección de funciones integradas.
Los sistemas operativos como Windows y MAC OS no distinguen entre mayúsculas y minúsculas, mientras que los sistemas operativos Linux o Unix distinguen entre mayúsculas y minúsculas.
Adoptar una conversión de nombres como letras minúsculas solo para nombres de archivos es una buena práctica que garantiza la máxima compatibilidad entre plataformas.
Veamos ahora algunas de las funciones de archivo PHP más utilizadas.
File_exists
Esta función se usa para determinar si un archivo existe o no.
- Resulta útil cuando queremos saber si existe un archivo o no antes de procesarlo.
- También puede usar esta función al crear un nuevo archivo y desea asegurarse de que el archivo no exista en el servidor.
La función file_exist tiene la siguiente sintaxis.
<?php file_exists($nombre_de_archivo); ?>
AQUÍ,
- «file_exists()» es la función PHP que devuelve verdadero si el archivo existe y falso si no existe.
- «$nombre_de_archivo» es la ruta y el nombre del archivo que se va a verificar
El siguiente código utiliza la función file_exists para determinar si el archivo my_settings.txt existe.
<?php if(file_exists('my_settings.txt')) { echo '¡archivo encontrado!'; }else{ echo 'my_settings.txt no existe'; } ?>
fopen
La función fopen se usa para abrir archivos. Tiene la siguiente sintaxis
<? php fopen($nombre_archivo, $mode, $use_include_path, $context); ?>
AQUÍ,
- «fopen» es la función de archivo abierto de PHP
- «$ nombre_archivo» es el nombre del archivo que se abrirá
- «$mode» es el modo en el que se debe abrir el archivo, la tabla a continuación muestra los modos
Modo |
Descripción |
---|---|
r |
|
r + |
|
w |
|
w + |
|
un |
|
a + |
|
- «$use_include_path» es opcional, el valor predeterminado es falso, si se establece en verdadero, la función también busca en la ruta de inclusión.
- «$context» es opcional, se puede usar para especificar el soporte de contexto.
fwrite
La función fwrite se usa para escribir archivos.
Tiene la siguiente sintaxis
<?php fwrite($handle, $string, $length); ?>
AQUÍ,
- «fwrite» es la función PHP para escribir en archivos
- «$handle» es el recurso de puntero de archivo
- «$string» son los datos que se escribirán en el archivo.
- «$length» es opcional, se puede usar para especificar la longitud máxima del archivo.
fclose
Se usa para cerrar un archivo en php que ya está abierto
Tiene la siguiente sintaxis.
<?php fclose($handle); ?>
AQUÍ,
- «fclose» es la función PHP para cerrar un archivo abierto
- «$handle» es el recurso de puntero de archivo.
Veamos ahora un ejemplo que crea my_settings.txt.
Utilizaremos las siguientes funciones.
- fopen
- fwrite
- fclose
El siguiente código «create_my_settings_file.php» implementa el ejemplo anterior.
Abrir un archivo |
<?php $fh = fopen("my_settings.txt", 'w') or die("Error al crear el archivo"); ?> |
Cerrar un archivo |
<? php fclose($fh); ?> |
Crea un archivo |
<?php fh = fopen("my_settings.txt", 'w') or die ("Error al crear el archivo"); $text = END;localhost; root; pwd1234; my_database_FINAL; fwrite ($fh, $text) or die ("No se pudo escribir en el archivo"); fclose ($fh); echo "Archivo 'my_settings.txt' escrito correctamente"; ?> |
fgets
La función fgets se usa para leer archivos php línea por línea. Tiene la siguiente sintaxis básica: fgets ($ handle); AQUÍ,
- «$fgets» es la función PHP para leer líneas de archivos
- «$handle» es el recurso de puntero de archivo.
Veamos ahora un ejemplo que lee el archivo my_settings.txt usando las funciones fopen y fgets.
El siguiente código read_my_settings.php implementa el ejemplo anterior.
<?php $fh = fopen("my_settings.txt", 'r') or die ("El archivo no existe o no tiene permiso para abrirlo"); $línea = fgets($fh); echo $line; fclose ($fh); ?>
AQUÍ,
- La función «fopen» devuelve el puntero al archivo especificado en la ruta del archivo
- Se llama a la función «die ()» si se produce un error. Muestra un mensaje y existe la ejecución del script.
copy
La función de copia PHP se usa para copiar archivos. Tiene la siguiente sintaxis básica.
copy($archivo, $copia_archivo);
AQUÍ,
- «$archivo » especifica la ruta del archivo y el nombre del archivo que se copiará.
- «$copia_archivo» especifico la ruta y el nombre del archivo copiado
El siguiente código ilustra la implementación
<?php copy('my_settings.txt', 'my_settings_backup.txt') or die("No se pudo copiar el archivo"); echo "El archivo se copió correctamente a 'my_settings_backup.txt'"; ?>
Eliminar un archivo
La función unlink se usa para eliminar el archivo. El siguiente código ilustra la implementación.
<?php</span> if (!unlink ('my_settings_backup.txt')) { echo "No se pudo eliminar el archivo"; } else { echo "El archivo 'my_settings_backup.txt' se eliminó correctamente"; } ?>
file_get_contents
La función file_get_contents se usa para leer todo el contenido del archivo.
El siguiente código ilustra la implementación.
La diferencia entre file_get_contents y fgets es que file_get_contents devuelve los datos del archivo como una cadena, mientras que fgets lee el archivo línea por línea.
<?php echo "<pre>"; // Permite la visualización de avances de línea echo file_get_contents("my_settings.txt"); echo "</pre>"; // Termina la etiqueta previa ?>
Resumen
- Un archivo es un recurso para almacenar datos.
- PHP tiene una rica colección de funciones integradas que simplifican el trabajo con archivos.
- Las funciones de archivo comunes incluyen fopen, fclose, file_get_contents
- La siguiente tabla muestra un resumen de las funciones cubiertas
Función |
Descripción |
---|---|
file_exists |
Determina si un archivo existe o no |
fopen |
Se usa para abrir un archivo. Devuelve un puntero al archivo abierto |
fwrite |
Escribe en archivos |
fclose |
Cerrar archivos
|
fgets |
Lee un archivo línea por línea |
copy |
Copia un archivo existente |
unlink |
Elimina un archivo existente |
file_get_contents |
Devuelve el contenido de un archivo como una cadena |