94 lines
3.2 KiB
PHP
94 lines
3.2 KiB
PHP
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>INTRO6 PHP ESCRIBIR ARCHIVOS</title>
|
|
|
|
</head>
|
|
<body>
|
|
<h2>1. ESCRIBIR ARCHIVOS</h2>
|
|
<?php
|
|
// Manejo de archivos en PHP
|
|
|
|
//Verificar si existe un archivo
|
|
$nombre_fichero='escritura/prueba.txt';
|
|
|
|
if (file_exists($nombre_fichero)) {
|
|
echo "El fichero $nombre_fichero existe";
|
|
} else {
|
|
echo "El fichero $nombre_fichero no existe";
|
|
}
|
|
echo '<br>';
|
|
|
|
// Verificar si es editable
|
|
//is_writable()
|
|
|
|
|
|
//Abrir archivos fopen()
|
|
//Devuelvo 0 si no va, o coloca el puntero en una posición del archivo.
|
|
//$fp = fopen("miarchivo.txt", "r");
|
|
//Modo Descripción
|
|
//r Apertura para lectura. Puntero principio
|
|
//r+ Apertura para lectura y escritura. Puntero principio
|
|
//w Apertura para escritura. Puntero principio sobreescribe.No existe se intenta crear.
|
|
//w+ Apertura para lectura y escritura. Puntero principio sobreescribe. Si no existe se intenta crear.
|
|
//a Apertura para escritura. Puntero final. Si no existe se intenta crear.
|
|
//a+ Apertura para lectura y escritura. Puntero final. Si no existe se intenta crear.
|
|
//x Creación y apertura para sólo escritura. Puntero principio del archivo. Si el archivo ya existe dará error E_WARNING. Si no existe se intenta crear.
|
|
//x+ Creación y apertura para lectura y escritura.
|
|
//c Apertura para escritura. Si no existe se crea. Si existe no se sobreescribe ni da ningún error. Puntero principio.
|
|
//c+ Apertura para lectura y escritura. Mismo comportamiento que C.
|
|
|
|
|
|
//Abrir archivo con fopen()
|
|
$nombre_archivo = "escritura/letra.txt";
|
|
$conexion = fopen($nombre_archivo, "r");
|
|
echo '<br>';
|
|
if (!$conexion) { echo("Error abriendo archivo"); }
|
|
|
|
echo '<hr/>';
|
|
//Leer el archivo con fgets() o fread()
|
|
//fgets() lee solo una línea, se puede usar en bucles línea por línea
|
|
//fread() un tamaño de bytes
|
|
// Conocer tamaño de un archivo
|
|
//filesize($archivo)
|
|
//Ejemplo con fgets()
|
|
$tamanio_bufer =100; # bytes letras
|
|
$contenido=fread($conexion, $tamanio_bufer); // Nota: aquí podrías concatenar en una cadena, guardarlo por ahí, etcétera
|
|
echo "\nLeído: " .$contenido.'<br>';
|
|
|
|
// Cerrar archivo tras la lectura
|
|
fclose($conexion);
|
|
|
|
echo '<hr/>';
|
|
|
|
//Leer el contenido con file_get_contents()
|
|
//Lee todo el contenido no requiere fopen y fclose
|
|
// Obtener contenido de archivo como string
|
|
$todo_contenido = file_get_contents($nombre_archivo);
|
|
echo "El contenido es: " . "<pre>$todo_contenido</pre>";
|
|
|
|
echo '<hr/>';
|
|
|
|
|
|
//Escribir en archivos con php
|
|
//Método 1 fwrite()
|
|
$nombreArchivo = "escritura/hola.txt";
|
|
$archivo = fopen($nombreArchivo, "w");
|
|
//Con w lo crea si no existe y lo sobreescribe
|
|
fwrite($archivo, "Hola mundo azúl!"."\n"."Cómo va lo mío? ");
|
|
fclose($archivo);
|
|
|
|
//Metodo 2 file_put_contents()
|
|
//No requiere fopen y fclose, no sobrescribe
|
|
$nombreArchivo2 = "escritura/direccion.txt";
|
|
$datos = "New New York #456";
|
|
file_put_contents($nombreArchivo2, $datos ,FILE_APPEND | LOCK_EX);
|
|
|
|
?>
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|