Como abrir y cerrar archivos PHP

Anuncio
Como abrir y cerrar archivos PHP
Para abrir un archivo, es necesaria la siguiente linea de codigo.
<?php
// para abrir archivo
miarchivo = @fopen("archivo.txt", "r") or die ("El archivo solicitado no existe");
?>
Al ser ejecutado, este Script nos mostrara al archivo "archivo.txt" o en caso de
que no exista o de que este en una ubicacion diferente, aparecera el mensaje de
error "El archivo solicitado no existe".
Para cerrar el archivo, lo cual debe ser hecho despues de haber terminado de
usarlo, es necesario utilizar las siguientes lineas de codigo:
// para cerrar archivo
fclose($miarchivo);
Creación de Archivos:
Hay una forma bastante rápida en PHP para crear un archivo de forma temporal,
en donde almacenar cualquier tipo de datos, usando la función tempnam.
<?php
//creacion de archivo temporal
$archivotemp = tempnam (“C:\\temp\\”, “tmp”);
?>
aquí se crea el archivo temporal con una ruta predeterminada y la extensión tmp
es posible cambiar esta extensión a txt, html, etc.
Otro metodo para crear archivos es utilizando el indicador “w+” como se ve a
continuación.
$miarchivo = fopen(“temporal.txt”, “w+”) or die (“El archive no existe o no pudo ser
abierto”)
Aquí se crea el archivo temporal.txt como archivo de lectura-escritura, hay varios
indicadores que se le pueden asignar a la función fopen:
 r : Solo lectura.
 r+ : Lectura y escritura.
 w : Solo escritura.
 w+ : Lectura y escritura. Si el archivo ya existe, se elimina el
contenido, si no existe se crea un nuevo archivo.
Escribir líneas en Archivos:
Ejemplo:
<?php
//abrir archivo
$miarchivo = @fopen(“hobby.txt”, “a”) or die (“El Archivo no existe o no pudo ser
abierto”);
//insertar linea
fputs($miarchivo, “futbol\r\n”);
//cerrar archivo
@fclose($miarchivo);
?>
podemos observar que se utiliza la función fputs para insertar la linea nueva (la
palabra futbol).
La función fputs, añade una cadena de datos, cada uno de estos datos tiene un
tamaño en bytes. Esta función agrega datos en función de su tamaño en bytes,
normalmente las cadenas son de tamaño muy pequeño, pero en casos en que el
tamaño de la cadena sea muy grande, es necesario dividir los datos de la
cadena en datos mas pequeños, e ir agregando fragmento por fragmento, esto
es posible a través de la función fputs.
Leer una línea de un archivo.
<?php
$cuenta_lineas = 0; //valor de inicio
$linea_numero = 1; // numero de linea a buscar
//abrir archivo
$archivo = @fopen(“hobby.txt”, “r”) or die (“el archivo no existe o no pudo ser abierto”);
while (!feof($archivo)) {
//para obtener la linea del archivo
$linea_archivo = fgets($archivo , 50);
//comprueba el número de línea activo
if ($cuenta_lineas == $linea_numero) {
//muestra la linea de archivo
print(“$linea_archivo”);
break;
}
$cuenta_linea++;
}
//cerrar archivo
@fclose($archivo);
?>
En este ejemplo, se recorre un archivo y se lee linea por linea, hasta alcanzar el
numero de linea deseado. Es necesario empezar por especificar el número de la
linea que se desea localizar.
Como primero, al ejecutarse el código, este cuenta las lineas del archivo, aquí
ajustamos el contador a 0 de esta manera, cada que el código lee una linea del
archivo, este contador incrementa.
cuenta_linea = 0;
a través de la instrucción while, el archivo es recorrido acompañado de la
función fgets. El bucle while es ejecutado un determinado numero de veces
hasta que llega al final del archivo, con la función feof, se indica que el archivo
ha llegado a su fin.
while (!feof($archivo)) {
Para comprobar cada número de línea, es necesario:
$linea_archivo = fgets($archivo , 50);
if ($cuenta_lineas == $linea_numero) {
Al llegar al número deseado, este se imprime, y el while llega a su fin.
print(“$linea_archivo”);
break;
Leer los caracteres de un archivo.
Para leer los caracteres de un archivo, se utilizan métodos muy similares.
<?php
$archivo = @fopen(“hobby.txt”, “r”) or die (el archivo no puede ser abierto o leido);
do {
//Obtiene los caracteres de un archivo
$caracteres = fgetc($archivo);
//imprime cada uno de los caracteres un archivo
print(“$caracteres<br>”);
} while (!feof($archivo));
@fclose($archivo);
?>
Aquí, es utilizada la función fgetc para leer caracteres y no lineas, luego imprime
los caracteres a medida que los obtiene.
Creación y eliminación de archivos.
Para crear y eliminar archivos, es necesario utilizar el siguiente código.
<? php
//leer directorio
$Informaciondir = “C:\\temp\\”;
//crear directorio
$creardir = “C:\\temp\\temp2\\”;
mkdir($creardir, 0700);
//abre directorio
$diraleer = opendir($informaciondir);
//bucle
while ($info = readdir($diraleer)) {
//imprime
print(“$info<br>”);
}
//cerrar directorio
closedir($diraleer);
//eliminar
rmdir($creardir);
?>
En este script podemos observar que se establece primero el directorio que va a
ser leído y el que va a ser creado.
//leer directorio
$Informaciondir = “C:\\temp\\”;
//crear directorio
$creardir = “C:\\temp\\temp2\\”;
Después de esto se crea el directorio por medio del comando mkdir
mkdir($creardir, 0700);
Luego de haberse creado el directorio, se enumera el contenido del directorio
(se utiliza el mismo método de bucle que en el script del capitulo anterior).
//bucle
while ($info = readdir($diraleer)) {
//imprime
print(“$info<br>”);
}
En la siguiente parte se cierra el directorio y se elimina con la función rmdir.
//cerrar directorio
closedir($diraleer);
//eliminar
rmdir($creardir);
Trabajo en archivos y directorios.
En php es posible trabajar con los archivos de diferentes maneras, se pueden
mover, copiar, cambiar de nombre y eliminar fácilmente.
A la hora de mover y copiar, se utilizan procedimientos similares. Como
sabemos, al mover un archivo, este lo traslada de una ubicación a otra, y al
copiarlo lo duplica y después mueve uno de los dos archivos.
Para copiar un archivo es necesario utilizar las siguientes líneas de código:
<?php
$dirraiz = “C:\\temp\\”;
$archivoacopiar = “temp.tmp”;
$copiadearchivo = “temp_copia.tmp”;
$nombre_archivoacopiar = $dirraiz . $archivoacopiar;
$nombre_copiaarchivo = $dirraiz . $copiadearchivo;
copy($nombre_archivoacopiar, $nombre_copiaarchivo);
?>
Esta línea del código establece el directorio en el que los archivos estarán
localizados.
$dirraiz = “C:\\temp\\”;
Lo siguiente es establecer el nombre del archivo a copiar, y el nombre que
tendrá el archivo copiado.
$archivoacopiar = “temp.tmp”;
$copiadearchivo = “temp_copia.tmp”;
Se establecen entonces variables que contienen el nombre del archivo a copiar,
y el nombre del archivo en el que se va a copiar.
$nombre_archivoacopiar = $dirraiz . $archivoacopiar;
$nombre_copiaarchivo = $dirraiz . $copiadearchivo;
A continuación las líneas para copiar el archivo.
copy($nombre_archivoacopiar, $nombre_copiaarchivo);
Documentos relacionados
Descargar