Herramientas de usuario

Herramientas del sitio


programacionphp3:teorias:teoria6-a

Teoría 6 (adicional)

Archivos

Concepto de Archivos - Primer tema de la página.

<?php 
echo '<pre>'; 
// file_exists: Informa si existe o no ese archivo 
if(file_exists('datos.txt')) echo 'datos.txt EXISTE.' . "\n"; 
if(!file_exists('xxxxx.txt')) echo 'xxxxx.txt NO EXISTE.' . "\n"; 
 
// filesize: Cantidad de caracteres de un archivo 
echo 'El tamaño de datos.txt es: ' . filesize('datos.txt') . "\n"; 
 
// file_get_contents: Obtiene todo el texto de un archivo (file_put_contents) 
echo file_get_contents('datos.txt'); // Salta de línea? 
 
// file: Pasa todo el texto de un archivo a un arreglo (1 elemento por línea) 
print_r(file('datos.txt')); 
 
// is_readable: Existe y se puede leer. 
if(is_readable('datos.txt')) echo 'datos.txt se puede leer.' . "\n"; 
 
// is_writeable: Existe y se puede escribir. 
if(is_writeable('datos.txt')) echo 'datos.txt se puede modificar.' . "\n"; 
 
// Archivo de texto 
// fopen (archivos o URL), ver segundo parametro r,w,a,x,+ 
// r: el archivo DEBE existir. 
// w: INICIALIZA al archivo. 
// a: Se posiciona al final, si el archivo no existe lo crea. 
// x: Crea al archivo, NO debe existir. 
$archivo = fopen('datos.txt', 'w'); 
if ($archivo == FALSE) { 
    print "ERROR: No se pudo abrir el archivo ! ! !\n"; 
} else { 
    fputs($archivo,"Renglon a\n"); 
    fputs($archivo,"Renglon 2\n"); 
    fputs($archivo,"Renglon 3\n"); 
    fputs($archivo,"Renglon 4\n"); 
    fclose($archivo); 
} 
 
// Lectura secuencial de archivo y agregado de renglones al final 
$archivo = fopen('datos.txt', 'r+'); 
if($archivo) { 
       $renglon = fgets($archivo); // Lee texto, incluye el \n 
                                // fread: similar pero para binario y con long. obligatoria. 
    while(!feof($archivo)) { // Fin del archivo? La próxima lectura dará error? 
           print $renglon; 
           $renglon = fgets($archivo); 
    } 
    fputs($archivo,"Final."); 
    fclose($archivo); 
} 
 
// Lectura secuencial y modificacion de datos en el medio del archivo 
$archivo = fopen('datos.txt', 'r+'); 
if($archivo) { 
    $posicion = 0; 
       $renglon = fgets($archivo); // Lee texto, incluye el \n 
                                // fread: similar pero para binario y con long. obligatoria. 
    while(!feof($archivo)) { // Fin del archivo? La próxima lectura dará error? 
           print $renglon; 
        if(substr($renglon,0,9)=='Renglon 2') { 
            fseek($archivo,$posicion); 
            fputs($archivo,"RENGLON 2"); // alias de fwrite 
            //fputs($archivo,"RENGLON 2 Y SUGUE PISANDO EL RESTO"); // El arch continua con igual longitud. 
        } 
        $posicion = ftell($archivo); // ftell -> posicion  (0 a filesize($filename) ) 
           $renglon = fgets($archivo); 
    } 
    fclose($archivo); 
} 
 
// Utilización de fseek y fputs para posicionarse, leer y escribir. 
$archivo = fopen('datos.txt', 'r+'); 
if($archivo) { 
    fseek($archivo,4); 
    print fread($archivo,3); 
    fseek($archivo,4); 
    fputs($archivo,"LON"); 
    fclose($archivo); 
} 
 
// El fputs no funciona al medio de un archivo si no hay un fseek antes. 
$archivo = fopen('datos.txt', 'r+'); 
if($archivo) { 
    print fread($archivo,3) . "\n\n"; 
    fseek($archivo,ftell($archivo)); 
    fputs($archivo,"GLO"); 
    fclose($archivo); 
    print file_get_contents('datos.txt'); 
} 
 
// Posicionarse al principio del archivo 
$archivo = fopen('datos.txt', 'r+'); 
if($archivo) { 
    print fread($archivo,3) . "\n\n"; 
    fseek($archivo,ftell($archivo)); 
    fputs($archivo,"GLO"); 
    rewind($archivo); // Igual a fseek($archivo, 0) 
    fputs($archivo,'r'); 
    fclose($archivo); 
    print file_get_contents('datos.txt'); 
} 
echo '</pre>'; 
?>
programacionphp3/teorias/teoria6-a.txt · Última modificación: 2017/10/10 16:12 (editor externo)