Hay varias maneras de como leer un fichero en php:
- fgets:El fichero al que se apunta debe ser válido, y debe apuntar a un fichero abierto por fopen() o fsockopen() (y que todavía no esté cerrado por fclose()). Obtiene una línea desde el puntero de un archivo. La lectura termina cuando se llegue a $length, se llegue a una nueva línea o se alcance el final del archivo.
$fp = fopen ('path/to/file', 'r'); $datos = fgets($fp); fclose($fp);
- fgetss: Es igual que fgets() pero elimina cualquier null, etiquetas HTML y PHP del texto. Se puede especificar un parámetro opcional.
- fread: Lectura de un fichero en modo binario. Se puede incluir un parámetro opcional $length para limitar lo que devuelva.
$fp = fopen ('path/to/file', 'r'); $datos = fread($fp, 4096); fclose($fp);
- fscanf: Interpreta la entrada de un archivo $handle en función de un formato $format. El formato es el mismo que se emplea en la función sprintf(). Cada llamada a fscanf() lee una línea del archivo.
$fp = fopen('path/to/file','r'); while ($info= fscanf($fp, "%s\t%s")){ ..... } fclose($fp);
- fpassthru: Lee toda la información restante desde un puntero hasta el final de un archivo y escribe el resultado en el buffer de salida.
- fgetcsv: Función para tratar con ficheros csv. Devuelve un array.
$file = fopen('path/to/file.csv','r'); //En este ejemplo se pasa como delimitador la coma "," peor podria ser otro por defecto el separador es la propia coma "," while(! feof($file)) { print_r(fgetcsv($$file, 1000, ",")); } fclose($file);
- fgetc: Lee sólo un carácter desde un puntero de un archivo. Devuelve el string con el único carácter.
$fp = fopen('miarchivo.txt', 'r')) while (false !== ($caracter = fgetc($fp))) { echo "$caracter\n"; }
- file_get_contents: Devuelve un archivo entero a una cadena, se puede especificar el comienzo desde $offset hasta $maxlen.
- readfile: Es una versión más simplificada de _file_getcontents. Lee el archivo y lo escribe en el búfer de salida. La función devuelve el número de bytes leídos del archivo.
echo readfile('/path/to/file');
- file: Transfiere un archivo a un array. Función similar a _file_getcontents() pero devuelve los contenidos en un array, donde cada elemento es una línea del archivo.
$file_content = file('/path/to/file.txt'); // Numero de lineas echo count($file_content ).'
'; foreach($file_content as $content) { echo $content .'
'; } - parse_ini_file: Analiza el archivo de configuración $filename y devuelve sus configuraciones en un array asociativo. La estructura del fichero es la misma que la del archivo de configuración php.ini. Si _$processsections es true, se obtiene un array multidimensional.
$array_ini = parse_ini_file('path/to/file.ini',true);
- SplFileObject: Usando la librería spl de php
$fp = fopen('path/to/file','r'); while ($info= fscanf($fp, "%s\t%s")){ ..... } fclose($fp);