Función PHP File(): File_exists, Fopen, Fwrite, Fclose, Fgets, copy, unlink
¿Qué es un Archivo?
Un archivo es simplemente un recurso para almacenar información en un ordenador.
Los archivos suelen utilizarse para almacenar información como;
- Ajustes de configuración de un programa
- Datos sencillos como los nombres de los contactos frente a los números de teléfono.
- Imágenes, Fotos, Fotografías, etc.
En este tutorial, usted aprenderá-
- Soporte de formatos de archivos dePHP
- Funciones de archivos dePHP
- Función File_exists dePHP
- Función Fopen dePHP
- Función Fwrite dePHP
- Función Fclose dePHP
- Fgets dePHP Función
- Función Copy de PHP
- Borrar un archivo
- Función File_get_contents de PHP
Soporte de formatos de archivo de PHP
Las funciones de archivo de PHP soportan una amplia gama de formatos de archivo que incluyen;
- Archivo.txt
- Fichero.log
- Fichero.custom_extension es decir, fichero.xyz
- Archivo.csv
- Archivo.gif, archivo.jpg etc
- Los archivos proporcionan una solución de almacenamiento de datos permanente y rentable para los datos simples en comparación con las bases de datos que requieren otro software y habilidades para gestionar los sistemas DBMS.
- Se desea almacenar datos simples como los registros del servidor para su posterior recuperación y análisis
- Se desea almacenar la configuración del programa es decir, programa.ini
Funciones de archivos PHP
PHP proporciona una forma conveniente de trabajar con archivos a través de su rica colección de funciones incorporadas.
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 sólo para nombrar archivos es una buena práctica que asegura la máxima compatibilidad entre plataformas.
Veamos ahora algunas de las funciones de archivo PHP más utilizadas.
Función PHP File_exists
Esta función se utiliza para determinar si un archivo existe o no.
- Resulta muy útil cuando queremos saber si un archivo existe o no antes de procesarlo.
- También se puede utilizar esta función cuando se crea un nuevo archivo y se quiere asegurar que el archivo no existe ya en el servidor.
La función file_exist tiene la siguiente sintaxis.
<?phpfile_exists($filename); ?>
Aquí,
- «file_exists()» es la función PHP que devuelve true si el archivo existe y false si no existe.
- «$nombre_de_fichero» es la ruta y el nombre del fichero a comprobar
El código siguiente utiliza la función file_exists para determinar si el fichero mi_configuración.txt existe.
<?phpif (file_exists('my_settings.txt')) { echo 'file found!'; } else { echo 'my_settings.txt does not exist'; } ?>
Guarda el código anterior en un archivo llamado file_function.php Suponiendo que guardaste el archivo en la carpeta phptuts en htdocs, abre la URL http://localhost/phptuts/file_function.php en tu navegador Obtendrás los siguientes resultados.
Función Fopen de PHP
La función fopen se utiliza para abrir archivos. Tiene la siguiente sintaxis
<?phpfopen($file_name,$mode,$use_include_path,$context); ?>
Aquí,
- «fopen» es la función PHP de abrir archivos
- «$nombre_archivo» es el nombre del archivo a abrir
- «$modo» es el modo en el que se debe abrir el archivo, la tabla de abajo muestra los modos
Modo | Descripción |
---|---|
r |
|
r+ |
|
w |
|
w+ |
|
a |
|
a+ |
|
- «$use_include_path» es opcional, por defecto es false, si se establece en true, la función busca en la ruta de inclusión también.
- «$context» es opcional, se puede utilizar para especificar el soporte de contexto.
Función PHP Fwrite
La función fwrite se utiliza para escribir archivos.
Tiene la siguiente sintaxis
<?phpfwrite($handle, $string, $length);?>
Aquí,
- «fwrite» es la función PHP para escribir en archivos
- «$handle» es el recurso puntero del archivo
- «$string» es el dato a escribir en el archivo.
- «$length» es opcional, se puede utilizar para especificar la longitud máxima del archivo.
Función PHP Fclose
Se utiliza para cerrar un archivo en php que ya está abierto
Tiene la siguiente sintaxis.
<?phpfclose($handle); ?>
Aquí,
- «fclose» es la función PHP para cerrar un archivo abierto
- «$handle» es el recurso puntero del archivo.
- Fopen
- Fwrite
- fclose
- «$fgets» es la función de PHP para leer líneas de archivos
- «$handle» es el recurso puntero del archivo.
Veamos ahora un ejemplo que crea mi_configuración.txt.
Utilizaremos las siguientes funciones.
El código de abajo «create_my_settings_file.php» implementa el ejemplo anterior.
Abre un archivo |
<?php $fh = fopen("my_settings.txt", 'w')ordie("Failed to create file"); ?> |
Cerrar un archivo |
<?phpfclose($fh);?> |
Crear archivo |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); $text = <<<_END localhost;root;pwd1234;my_database _END; fwrite($fh, $text) or die("Could not write to file"); fclose($fh); echo "File 'my_settings.txt' written successfully"; ?> |
Probando el código
Abre la URL http://localhost/phptuts/create_my_settings.php en tu navegador.
Obtendrás la siguiente página
Nota: si tu disco está lleno o no tienes permiso para escribir archivos, obtendrás un mensaje de error.
Vuelve a la URL http://localhost/phptuts/file_function.php .
¿Qué resultados obtienes?
Función PHP Fgets
La función fgets se utiliza para leer archivos php línea por línea. Tiene la siguiente sintaxis básica. fgets($handle); AQUÍ,
Veamos ahora un ejemplo que lee el archivo mi_configuración.txt utilizando las funciones fopen y fgets.
El código que sigue a continuación read_my_settings.php implementa el ejemplo anterior.
<?php$fh = fopen("my_settings.txt", 'r') or die("File does not exist or you lack permission to open it");$line = fgets($fh);echo $line; fclose($fh); ?>
Aquí,
- La función «fopen» devuelve el puntero al archivo especificado en la ruta del archivo
- La función «die()» es llamada si se produce un error. Muestra un mensaje y existe la ejecución del script
Función PHP Copy
La función PHP copy se utiliza para copiar archivos. Tiene la siguiente sintaxis básica. copy($fichero,$fichero_copiado); AQUÍ,
- «$fichero» especifica la ruta del fichero y el nombre del fichero a copiar.
- «archivo_copiado» especifica la ruta y el nombre del archivo copiado
El código siguiente ilustra la implementación
<?phpcopy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file");echo "File successfully copied to 'my_settings_backup.txt'"; ?>
Borrar un archivo
La función unlink se utiliza para borrar el archivo. El código siguiente ilustra la implementación.
<?phpif (!unlink('my_settings_backup.txt')){ echo "Could not delete file"; }else{ echo "File 'my_settings_backup.txt' successfully deleted"; } ?>
Función PHP File_get_contents
La función file_get_contents se utiliza para leer todo el contenido del archivo.
El código siguiente 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.
<?phpecho "<pre>"; // Enables display of line feedsecho file_get_contents("my_settings.txt");echo "</pre>"; // Terminates pre tag?>
Resumen
- Un archivo es un recurso para almacenar datos
- PHP tiene una rica colección de funciones incorporadas que simplifican el trabajo con archivos.
- Las funciones comunes de archivos incluyen fopen, fclose, file_get_contents
- La siguiente tabla muestra un resumen de las funciones cubiertas
. Función | Descripción |
---|---|
File_exists | Se utiliza para determinar si un archivo existe o no | fopen | Se utiliza para abrir un archivo. Devuelve un puntero al fichero abierto | fwrite | Se utiliza para escribir en ficheros |
fclose | Se utiliza para abrir archivos cerrados |
fgets | Se utiliza para leer un archivo línea por línea |
Copiar | Se utiliza para copiar un archivo existente |
unlink | Se utiliza para borrar un archivo existente |
file_get_contents | Se utiliza para devolver el contenido de un archivo en forma de cadena |
.