Entendido.

Este sitio utiliza cookies para analizar la navegación. Si continúa navegando se entiende que acepta su uso. Ver más detalles.";

Logo

Aprende Web

Crea y diseña tus sitios en la Web.

Manual de PHP

PHP: imprescindible para crear páginas web de modo profesional


Y ahora tambien aprende a programar en C++ con Aprende Web C++

logo rss RSS. Suscribir canal.

Buscar en Aprende Web

Traducir página

Visita nuestro blog:

bolg.aprende-web.net

y entérate de las novedades o deja un comentario.

Dudas y sugerencias:

aprendeweb@aprende-web.net





Sobre ésta página

Ültima modificación: 29-01-2016.

Visitas este mes: 47

Visitas el mes pasado: 59

logo
WEB-GRAFÍA

Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de este manual.:

Curso de PHP
www.programaciónweb.net
Lecciones PHP
WebTaller.com
Manual de PHP
manualdephp.com
Curso de PHP
Aula Fácil.com
Manual de PHP en español
manual-php.com
PHP a fondo
desarrolloweb.com
Manual de PHP
Foros del Web
Manual de PHP
www.php.net
PHP Tutorial
w3schools.com

Donativos

Si este sitio te parece interesante puedes contribuir con una pequeña aportación.




12. Manejar archivos (II)

12.2 Funciones de archivos.

php

Funciones con archivo abierto.

Como vimos en la página anterior (Crear archivos) podemos abrir un archivo mediante el método fopen(). Una vez abierto podemos utilizar una serie de funciones para verlo o modificarlo u obtener información. Recordemos como funciona el método fopen():

$manejador=fopen("ruta_archivo","modo");
...(código para manejar el archivo);...
fclose($manejador);

Una vez abierto el archivo, podemos usar diferentes funciones para manejarlo.


El puntero interno

Al abrir el archivo se crea un puntero interno que podemos hacerlo avanzar o retroceder. El puntero apunta hacia un carácter del archivo (en archivos escritos en texto - .txt .html .php- ), en el cual se posiciona, y desde ahí se ejecutan las diversas funciones. Al abrir el archivo el puntero está posicionado en el primer caracter, y su valor es 0. Por tanto la posición del puntero empieza a contarse desde 0 para el primer carácter, 1 para el segundo, y así sucesivamente.

fwrite($manejador,"texto");

Escribe el texto del segundo argumento en el archivo. Si el archivo se abre en modo "w", al abrirlo se borra su contenido, y se empieza a escribir el nuevo texto a partir de la posición del puntero. (si no se modifica, está al principio).

Si se abre en modo "a", el nuevo texto se añade a continuación del que ya había, sin importar la posición del puntero.

fputs($manejador,"texto");

Escribe el texto del segundo argumento en el archivo. Funciona exactamente igual que la función fwrite() vista anteriormente.

fgets($manejador);

Lee el archivo desde la posición del puntero hasta el final de la línea. el puntero después de leerlo se queda al principio de la siguiente línea.

Si sabemos que el archivo sólo contiene una línea, para leer el archivo completo utilizaremos simplemente:

echo fgets($manejador)

Si el archivo tiene más de una línea o no sabemos el número de líneas que tiene, entonces debemos usar un bucle para poder leer el archivo completo. un ejemplo sería el siguiente:

$ma=fopen("archivos/fichero4.txt","r");//abrir el archivo
while ($ver=fgets($ma)) { //comprobar que la linea existe (igual a true)
      $miarchivo.="$ver <br/>"; //guardar la linea añadiendola a la anterior
      }
fclose($ma); //cerrar el archivo
echo $miarchivo; //ver en pantalla.

Esta función admite también un segundo argumento opcional, el cual es un número que indica cuantos caracteres avanzará el puntero , la siguiente lectura no empezará en la siguiente línea, sino donde se haya quedado el puntero. Cuando el puntero llega al final de la línea no lee el principio de la siguiente.

fgetc($manejador);

Lee el caracter al que apunta el puntero interno. El puntero avanza después una posición.

ftell($manejador);

Devuelve un número que indica la posición del puntero interno.

fseek($manejador,avance,num_desde);

Permite mover el puntero interno. el segundo argumento avance indica el número de posiciones que avanza el puntero. El tercer argumento es opcional, e indica la posición desde la que debe avanzar el puntero. Por ejemplo, si acabamos de abrir el archivo y queremos avanzar 5 posiciones escribiremos:

fseek($manejador,5)

Si después queremos poner el puntero en el tercer caracter escribiremos:

fseek($manejador,0,2)

En donde el tercer argumento indica desde donde se empieza a contar para colocar el puntero donde indica el segundo.

rewind($manejador);

Coloca el puntero interno al principio del archivo.

fgetcsv($manejador,num,"separador");

Devuelve un array en el que el segundo argumento num indica hasta donde debe avanzar el puntero para formar los elementos del array. El tercer argumento indica cual es el caracter que separa los elementos del array.

Si en el segundo argumento ponemos un número superior al número de caracteres del archivo, este se tomará hasta el final. Por ejemplo si queremos separar las palabras del archivo en un array escribiremos:

fgetcsv($manejador,5000," ")

Suponemos que el archivo tiene menos de 5000 caracteres.

feof($manejador);

Indica si el puntero interno ha llegado al final del archivo. En ese caso devuelve true, si no es así devuelve false.


Funciones con el archivo cerrado.

Las siguientes funciones no necesitan tener abierto el archivo mediante fopen para poder utilizarlas.

copy("ruta_origen","ruta_destino");

Copia un archivo ubicado en "ruta_origen" en "ruta_destino". Por tanto en el primer argumento pondremos la ruta para localizar al archivo, y en el segundo la ruta del nuevo archivo que se crea.

Recordemos que ésta es la función que usábamos para guardar los archivos que nos mandan los usuarios mediante formularios (ver página 3.4. Enviar archivos). El archivo temporal que se cre al mandar un archivo lo copiamos de forma permamente.

rename("ruta_origen","ruta_destino");

Mueve un archivo ubicado en "ruta_origen" a "ruta_destino". En el primer argumento pondremos la ruta para localizar el archivo, y en el segundo la nueva ubicación del archivo.

file_get_contents("ruta_archivo");

Lee el archivo completo. Sin duda es la mejor opción si lo que queremos es simplemente leer el contenido del archivo.

file("ruta_archivo");

Crea un array que lee el contenido del archivo. Cada uno de los elementos del array está delimitado por los saltos de línea en el archivo. Es una buena opción para leer los códigos de las páginas, incluso de otras webs. Por ejemplo:

$pagina=file("http://www.miweb.com);
foreach ($pagina as $linea) {
echo htmlspecialchars($linea)."<br/>";
}

fileatime("ruta_archivo");

Devuelve la fecha (en tiempo Unix) de la ultima vez que se accedió al archivo.

filectime("ruta_archivo");

Devuelve la fecha (en tiempo Unix) de la ultima vez que se modificó el archivo.

filesize("ruta_archivo");

Devuelve el tamaño en bytes del archivo.

filetype("ruta_archivo");

Devuelve el tipo MIME de archivo, por ejemplo "file", si es un archivo de texto.

fileperms("ruta_archivo");

Devuelve un número que indica los permisos del archivo.

fileowner("ruta_archivo");

Devuelve el nombre del dueño del archivo, normalmente el mismo que hay en la carpeta donde fue creado.

is_executable("ruta_archivo")

Devuelve un boleano true si el archivo puede ejecutarse, o false en caso contrario.

is_readable("ruta_archivo")

Devuelve un boleano true si el archivo puede leerse, o false en caso contrario.

is_writable("ruta_archivo")

Devuelve un boleano true si en el archivo puede escribirse, o false en caso contrario.


La lista de todas las funciones para archivo puedes verla en la página manual php.net




En la siguiente página veremos cómo manejar las carpetas o directorios con PHP

Directorios.



manual de PHP

Anterior siguiente ... Siguiente siguiente


imprimir esta página

Página creada por ANYELGUTI.

Sugerencias: aprendeweb@aprende-web.net. Envia un manda un correo

Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog

Más sobre anyelguti en http://anyelguti.16mb.com