dimarts, 9 de desembre del 2014

Funcions bàsiques de tractament de fitxers

PHP disposa d'un munt de funcions per gestionar fitxer, que es poden consultar aquí
A continuació un recull de funcions bàsiques i un parell d'exemples

Saber si un arxiu és executable
is_executable ('archivo.xxx');
Saber si un arxiu es pot escriure
is_writable ('archivo.xxx');
Indiqueu si l'arxiu es pot llegir
is_readable ('arxiu. xxx ');
Obtenir el tipus d'arxiu
filetype ('arxiu. xxx ');

Canviar els permisos d'un fitxer
chmod ('El_archivo.xxx', 0777);
Canviar el nom del propietari d'un arxiu
chown ('El_archivo.xxx', 'El meu nom');
Copiar un arxiu
copy ('El_archivo.xxx', '/ nou_directori /');
Obtenir directori inicial d'un arxiu o subdirectori
dirname ('directorio_raiz / subdirectori');
Obtenir l'espai disponible en un directori en Bytes.
disk_free_space ('directori');
Verificar si un fitxer existeix
file_exists (' archivo.xxx ');

Obtenir l'hora de l'últim accés a un fitxer
fileatime ('archivo.xxx');
Obtenir l'hora de l'última modificació d'un fitxer
filemtime ('archivo.xxx');
Obtenir el propietari d'un fitxer
fileowner ('archivo.xxx');
Obtenir els permisos d'un fitxer
fileperms ('archivo.xxx');
Obtenir la mida en bytes d'un fitxer
filesize ('archivo.xxx');


Obrir un fitxer o URLf
open ('archivo.xxx', 'r');

Indica si un arxiu va ser pujat per HTTP POST 
uploadis_uploaded_file ('archivo.xxx');

Crea un directori amb permisos.
mkdir ('/ nou_directori ', 0777);
Moure un arxiu carregat a través d'HTTP POST d'un directori a un altre predefinit move_uploaded_file ('directori / archivo.xxx', 'directorio2 / archivo.xxx'); 
Llegir el contingut resultant d'arxiu
file_get_contents ('el_archivo. xx '); 
Reanomena un fitxer o directori
rename ("/ tmp / archivo_temp.txt", "/home/usuario/login/docs/mi_archivo.txt");
Elminar un directori
rmdir ('/ directori');
Crear un arxivo temporal tmpfile (); 
Eliminar un arxiu
unlink ('ARCHIVO.XXX');

Exemple: Comprobar si existeix el fitxer

<?php
if (file_exists("mifichero.txt")){ 
   echo "El fitxer existeix, per tant el puc obrir"; 
   $reffichero = fopen("mifichero.txt", "a"); 
}else{ 
   echo "El fitxer no existeix i per tant el creo de nou en mode lectura i escriptura."; 
   $reffichero = fopen("mifichero.txt", "w+"); 
}
?>

Exemple: Comptar línies i caràcters

<? 
//obro l'arxiu per lectura
$archivo = fopen ("miarchivo.txt", "r"); 

//una variable per linies i una altra per caràcters
$num_lineas = 0; 
$caracteres = 0; 

//Recórrer l'arxiu
while (!feof ($archivo)) { 
    //obro una línia 
    if ($linea = fgets($archivo)){ 
       //guardo el  número de línies
       $num_lineas++; 
       //guardo el número de caràcters
       $caracteres += strlen($linea); 
    } 
} 
fclose ($archivo); 
echo "
Línies: " . $num_lineas; 
echo "
Caràcteres: " . $caracteres; 
?>

Cap comentari:

Publica un comentari a l'entrada