Foros del Web » Programando para Internet » PHP »

file_exists vs. is_file/is_dir

Estas en el tema de file_exists vs. is_file/is_dir en el foro de PHP en Foros del Web. ¿Cuál es la diferencia específica y sustancial entre estas funciones? Leí el manual hasta parece que no hay diferencias. Si me guío por la nomenclatura ...
  #1 (permalink)  
Antiguo 07/12/2011, 23:58
 
Fecha de Ingreso: abril-2009
Mensajes: 46
Antigüedad: 15 años
Puntos: 1
file_exists vs. is_file/is_dir

¿Cuál es la diferencia específica y sustancial entre estas funciones?

Leí el manual hasta parece que no hay diferencias.

Si me guío por la nomenclatura de cada una de las funciones:
file_exists = si existe un archivo.
is_file = comprueba si es un archivo.
is_dir = comprueba si es un directorio

Gracias.
  #2 (permalink)  
Antiguo 08/12/2011, 00:08
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: file_exists vs. is_file/is_dir

file_exists comprueba si existe fichero o directorio ( La comprobación se realiza usando el UID/GID real en vez del oportuno. y aparte En caso de fallo, se emite un E_WARNING. )

Saludo
  #3 (permalink)  
Antiguo 08/12/2011, 03:12
Avatar de Artificium  
Fecha de Ingreso: enero-2011
Mensajes: 492
Antigüedad: 13 años, 3 meses
Puntos: 81
Respuesta: file_exists vs. is_file/is_dir

Ciertamente pueden usarse tanto file_exists como is_file para lo mismo en alguna ocasión, pero son distintos, por ejemplo, si quieres saber que el archivo existe puedes usar tanto file_exists como is_file, pero si obtienes mediantes scandir un array de archivos y carpetas contenidos dentro de una carpeta y quieres filtrar solo los archivos, entonces no te va a servir file_exists, porque esto devuelve verdadero si la ruta que le pasas es un archivo o una carpeta. Para este caso necesitas usar is_file. Lo mismo para is_dir pero en el caso que deses filtrar carpetas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:21.