Los últimos tutoriales de desarrollo web
 

PHP 5 Abrir Archivo / Leer / Cerrar


En este capítulo te enseñaremos cómo abrir, leer y cerrar un archivo en el servidor.


Abrir archivo PHP - fopen()

Un mejor método para abrir archivos es con el fopen() función. Esta función le da más opciones que el readfile() función.

Vamos a utilizar el archivo de texto, "webdictionary.txt" , durante las clases:

AJAX = Asynchronous JavaScript and XML
CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL = Structured Query Language
SVG = Scalable Vector Graphics
XML = EXtensible Markup Language

El primer parámetro de fopen () contiene el nombre del archivo que se puede abrir y el segundo parámetro especifica en qué modo el archivo se debe abrir. El ejemplo siguiente también genera un mensaje si la función fopen () no es capaz de abrir el archivo especificado:

Ejemplo

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
?>
Ejecutar ejemplo »

Tip: El fread () y el fclose () funciones se explicarán a continuación.

El archivo se puede abrir en uno de los siguientes modos:

Modes Description
r Open a file for read only . File pointer starts at the beginning of the file
w Open a file for write only . Erases the contents of the file or creates a new file if it doesn't exist. File pointer starts at the beginning of the file
a Open a file for write only . The existing data in file is preserved. File pointer starts at the end of the file. Creates a new file if the file doesn't exist
x Creates a new file for write only . Returns FALSE and an error if file already exists
r+ Open a file for read/write . File pointer starts at the beginning of the file
w+ Open a file for read/write . Erases the contents of the file or creates a new file if it doesn't exist. File pointer starts at the beginning of the file
a+ Open a file for read/write . The existing data in file is preserved. File pointer starts at the end of the file. Creates a new file if the file doesn't exist
x+ Creates a new file for read/write . Returns FALSE and an error if file already exists

PHP Leer archivo - fread ()

La función fread () lee de un archivo abierto.

El primer parámetro de fread () contiene el nombre del archivo a leer y el segundo parámetro especifica el número máximo de bytes a leer.

El siguiente código PHP lee el archivo "webdictionary.txt" al final:

fread($myfile,filesize("webdictionary.txt"));

PHP Cerrar archivo - fclose()

El fclose() función se utiliza para cerrar un archivo abierto.

Es una buena práctica de programación para cerrar todos los archivos después de haber terminado con ellos. Usted no quiere un archivo abierto corriendo en el servidor de sacrificar los recursos!

El fclose() requiere el nombre del archivo (o una variable que contiene el nombre del archivo) queremos cerrar:

<?php
$myfile = fopen("webdictionary.txt", "r") ;
// some code to be executed....
fclose($myfile) ;
?>

PHP Leer Single Line - fgets()

El fgets() la función se utiliza para leer una sola línea de un archivo.

El siguiente ejemplo muestra la primera línea de la "webdictionary.txt" archivo:

Ejemplo

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fgets($myfile);
fclose($myfile);
?>
Ejecutar ejemplo »

Note: Después de llamar a los fgets() de función, el puntero de archivo se ha movido a la siguiente línea.


PHP Comprobar EOF - feof()

Los feof() función comprueba si el "end-of-file" (EOF) se ha alcanzado.

El feof() función es útil para bucle a través de los datos de longitud desconocida.

El ejemplo a continuación lee el "webdictionary.txt" archivo línea por línea, hasta que se alcanza al final de su archivo:

Ejemplo

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// Output one line until end-of-file
while(!feof($myfile)) {
  echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>
Ejecutar ejemplo »

PHP Leer carácter único - fgetc()

El fgetc() función se utiliza para leer un solo carácter de un archivo.

El siguiente ejemplo lee el "webdictionary.txt" caracteres de archivo por carácter, hasta que se llega al final de su archivo:

Ejemplo

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// Output one character until end-of-file
while(!feof($myfile)) {
  echo fgetc($myfile);
}
fclose($myfile);
?>
Ejecutar ejemplo »

Note: Después de llamar a la fgetc() función, el puntero de archivo se desplaza al siguiente carácter.


Completar PHP sistema de archivos de referencia

Para una referencia completa de las funciones del sistema de archivos, vaya a nuestra completa PHP sistema de archivos de referencia .