PHP: Compendio básico de funciones sobre archivos
13 de Febrero de 2007 en Programación, PHP
Lecturas: 5,534

Sistema de ArchivosCuando trabajamos con archivos desde PHP nos encontramos que muchas veces necesitamos funciones propias del sistema operativo para manejar cambios de nombre, recorrer directorios, cambiar permisos…

PHP contiene unas funciones para realizar estas tareas de forma interna sin que sea necesario usar instrucciones del sistema para estos efectos. En este artículo enumero algunas de las funciones que encuentro más interesantes.

Debo remarcar que la lista inicial la encontré en DesarrolloWeb hace ya un tiempo, pero perdí la pista al artículo. Así que para mantener una copia de ese útil listado lo publico aquí.

Se debe tener también en cuenta que todos los scripts en PHP se ejecutan con un usuario del tipo “nobody” o “wwwagent”, es decir, un usuario que en la mayoría de los casos no es el propietario de los archivos que se subieron por FTP, por lo que deberemos tener permisos de escritura sobre los archivos con los que queremos trabajar.

Para cambiar los permisos en archivos y directorios debemos recordar que se usa la notación octal, y ésta en PHP se escribe con un número de 4 cifras, no de 3 como es habitual en entornos *IX. La razón es sencilla: PHP identifica los números octales con un cero “0″ delante para diferenciarlos de los números decimales.

Cambiar los permisos de un archivo

chmod (’El_archivo.xxx’,0777);

Cambiar el nombre del propietario de un archivo

chown (’El_archivo.xxx’,'Mi nombre’);

Copiar un archivo

copy(’El_archivo.xxx’,'/nuevo_directorio/’);

Optener el directorio inicial de un archivo o subdirectorio

dirname(’directorio_raiz/subdirectorio’);

Obtener el espacio disponible en un directorio en Bytes.

disk_free_space(’directorio’);

Verificar si un archivo existe

file_exists (’archivo.xxx’);

Obtener la hora del ultimo acceso a un archivo

fileatime(’archivo.xxx’);

Obtener la hora de la ultima modificación de un archivo

filemtime(’archivo.xxx’);

Obtener el dueño de una archivo

fileowner (’archivo.xxx’);

Obtener los permisos de una archivo

fileperms (’archivo.xxx’);

Obtener el tamaño en bytes de un archivo

filesize(’archivo.xxx’);

Obtener el tipo de archivo

filetype(’archivo.xxx’);

Abrir un archivo o dirección URL

fopen (’archivo.xxx’,'r’);

Saber si un archivo es ejecutable

is_executable(’archivo.xxx’);

Indicar si el archivo se puede leer

is_readable(’archivo.xxx’);

Indica si un archivo fue subido mediante HTTP POST upload

is_uploaded_file (’archivo.xxx’);

Saber si un archivo se puede escribir

is_writable (’archivo.xxx’);

Crea un directorio con permisos.

mkdir(’/nuevo_directorio’,0777);

Mover un archivo cargado a través de HTTP POST de un directorio a otro
predefinido

move_uploaded_file (’directorio/archivo.xxx’,'directorio2/archivo.xxx’);

Leer el contenido resultante de archivo

file_get_contents(’el_archivo.xx’);

Renombrar un archivo o directorio

rename(”/tmp/archivo_temp.txt”, “/home/usuario/login/docs/mi_archivo.txt”);

Eliminar un directorio

rmdir(’/directorio’);

Crear un archivo temporal

tmpfile();

Eliminar un archivo

unlink(’ARCHIVO.XXX’);

Podéis encontrar la información completa sobre el acceso al sistema de archivos en PHP en la documentación oficial.

 Enviar a Fresqui

Leer los Comentarios

[ # 6454 ] Comment desde daisy [06 de Octubre de 2007, 01:57]

como renombro un directorio o un archivoen php

[ # 6484 ] Comment desde Xavi [06 de Octubre de 2007, 10:19]

Con la función rename()

[ # 10109 ] Comment desde IUGA [27 de Noviembre de 2007, 02:12]

Ahh muy interesante, me gustan mucho los resumenes. Y muy buena página, la acabo de conocer y me encanta

[ # 10131 ] Comment desde Xavi [27 de Noviembre de 2007, 09:51]

Muchas gracias! bienvenido!

[ # 19001 ] Comment desde alejandro [26 de Marzo de 2008, 12:41]

por el amor de dios estube visitando 634664325676 paginas de esta q dicen q te arregla y te facilita la vida llamada internet y no encontre ninguna respuesta sibre archivos de sistemas nooooooooo sistemas de archivosss archivos de sistemaaaaaaaaaaaaaaaaaaaaa

gracias por el espacioooo

[ # 19002 ] Comment desde Xavi [26 de Marzo de 2008, 12:45]

Pos nada, a disfrutar.

[ # 56054 ] Comment desde Jairo Adolfo Gelvez [22 de Enero de 2009, 03:30]

Por dios, es verdad que soy autodidacta pero también es cierto que tengo muchos años programando en PHP, les juro que no tenia la menor idea de que se pudiera obtener el owner de un archivo, y mucho menos su fecha de creación o ultima modificación, saben la cantidad de lineas de código que uno puede ahorrarse con eso ?? bueno, todos los días se aprende. Creo que PHP tiene una extensa gama de utilidades para interactuar con el sistema de fichero, con eso que se lista aquí se puede hacer prácticamente lo que se desee.

Saludos para todos …

Escribe un Comentario





Estadísticas