Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Promoción de webs | Rentabilidad de webs
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Comprobar la existencia de un fichero en el servidor con PHP


Script PHP para comprobar si existe un archivo determinado en el servidor e informar sobre su existencia o no.


09/3/06 - Vamos a ver cómo se puede comprobar mediante PHP si un fichero existe o no en el sistema de archivos del servidor, es decir, dentro del disco duro del servidor. Esta es una tarea que se debería comprobar antes de realizar acciones con cualquier fichero del servidor, porque, si no existe el fichero, las acciones a realizar sobre él no tendrían sentido.

En PHP existe una función que nos ayudará con la tarea de comprobar si existe o no un fichero en el servidor. Nosotros solamente tenemos que hacer uso de ella para saber si existe ese archivo y por tanto, podemos operar con él.

file_exists(nombre_del_fichero)

La función devuelve un boleano, indicando con true que existe el fichero y con false que no existe. Recibe una cadena de caracteres que es el nombre del fichero que se desea comprobar.

En principio, si sólo se indica un nombre de un fichero, se supone que se debe buscar su existencia dentro del mismo directorio donde se aloja la página PHP.

Ejemplos

Vamos a ver si existe un archivo llamado "mifichero.txt" en el mismo directorio que la página PHP:

if (file_exists("mifichero.txt")){
   echo "El fichero existe";
}else{
   echo "El fichero no existe";
}

Si quisiéramos comprobar si existe ese fichero dentro de un directorio determinado, bastaría con que escribiésemos la ruta de directorios sobre la que deseamos buscar el fichero.

file_exists("datos/mifichero.txt")

Esta función buscaría el archivo "mifichero.txt" dentro del subdirectorio "datos". Este subdirectorio "datos" estaría contenido dentro del directorio donde colocamos el script PHP.

Indicando rutas absolutas

También podríamos buscar un archivo indicando una ruta absoluta dentro del sistema de archivos del servidor. En este caso habría que comprobar si desde PHP tenemos permisos para acceder a la ruta en la que se pretende buscar el archivo, sobretodo si la ruta es externa al directorio de publicación del servidor.

file_exists("c:/mif.txt")

Esta función buscaría el archivo mif.txt en el directorio raíz del disco c:. Habría que ver si tenemos permisos para acceder al directorio raíz del disco.

Podemos averiguar la ruta del directorio de publicación de la página con la variable del entorno del servidor $_SERVER["DOCUMENT_ROOT"]. Podemos utilizar esta variable para generar la ruta absoluta a un archivo que pretendamos comprobar su existencia.

file_exists($_SERVER["DOCUMENT_ROOT"] . "\mifichero.txt")

Esta función buscaría el archivo "mifichero.txt" dentro de la raíz del directorio de publicación.

Nota:Como se puede ver, hemos utilizado el carácter "\" (contrabarra) para separar los directorios en la ruta de un archivo. Esto es porque estas líneas están extraídas de ejemplos de PHP realizados sobre el sistema Windows. En Windows se utilizan contrabarras para escribir rutas, mientras que en Linux se utiliza el carácter "/" (barra normal). Hay que tener cuidado para saber qué barra debemos utilizar en cada sistema, de lo contrario, podemos equivocarnos y entonces PHP puede tener problemas para localizar un fichero determinado.

Ejemplo: si existe un fichero, abrirlo y si no existe, crearlo

Ahora vamos a mostrar un código muy típico que sirve para abrir un fichero con un nombre dado. Primero habría que comprobar si existe o no existe ese fichero. Si existe, entonces lo abrimos tal cual está y si no existe, lo crearemos previamente a abrirlo.

if (file_exists("mifichero.txt")){
   echo "El fichero existe. Lo abro";
   $reffichero = fopen("mifichero.txt", "a");
}else{
   echo "El fichero no existe. Lo creo y abro.";
   $reffichero = fopen("mifichero.txt", "w+");
}

En este código, primero se comprueba la existencia del fichero. Si existe (caso afirmativo del if), se abre con el modo "a", que indica que se desea añadir información al fichero. Si no existe fichero (caso else del if), se abre con el modo "w+", que indica lectura y escritura y además indica que si no existe el fichero, se creará en el sistema de archivos en la ruta indicada.

Después de este código, el fichero está abierto para escritura, con lo cual, podemos operar sobre el fichero (escribiendo información) y luego deberíamos cerrarlo. El código sería como este:

//operar con el fichero
fwrite ($reffichero,"nuevo texto!!!!");
//cerrar el fichero
fclose ($reffichero);

 Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 1 categoria relacionada
+ 1 comentario (Añadir)
+ 8 comentarios no revisados

 Autoría, licencia y acciones sobre este artículo

Informe de Miguel Angel Alvarez*
Director de DesarrolloWeb.com

Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.

* Para consultas técnicas utilizar la lista de correo.

Versión imprimible Versión imprimible del artículo
Enviar artículo por e-mail Enviar artículo por e-mail
Añadir un comentario al artículo Publicar un comentario del artículo

Manuales relacionados con este artículo
Dentro de Gestión de archivos en PHP

Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en Scripts en PHP


 Comentarios de los visitantes
Los comentarios de los visitantes son para ampliar la información del artículo. Cualquiera puede participar.
Se muestra un comentario revisado

 Comentario de Carajodida
10/3/06 
Me parece una total estupidez ese código, basta con usar esto y listo:

$reffichero = fopen("mifichero.txt", "a");

si existe lo usa, si no existe lo crea... parece que no se dio cuenta el que escribio eso que el final de un archivo vacio es el principio...


Añadir un comentario al artículo Añadir un comentario del artículo
 Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
 Se han encontrado 8 comentarios sin revisar

Ver el comentario no revisadoVer los comentarios no revisados
Añadir un comentario al artículo Añadir un comentario del artículo



Enlaces:
Maestrosdelweb
  Ir arriba

Manuales relacionados
+Gestión de archivos en PHP
Categorías
+Scripts en PHP

Tienda DesarrolloWeb

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia