Foros del Web » Programando para Internet » PHP »

Falla en file_exists()

Estas en el tema de Falla en file_exists() en el foro de PHP en Foros del Web. Hola a todos. Estoy usando la función file_exists() para verificar la existencia de una carpeta en una máquina "vecina" a mi servidor. Lo estoy haciendo ...
  #1 (permalink)  
Antiguo 13/08/2003, 10:29
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 16 años
Puntos: 38
Falla en file_exists()

Hola a todos.

Estoy usando la función file_exists() para verificar la existencia de una carpeta en una máquina "vecina" a mi servidor. Lo estoy haciendo de la siguiente manera:

Código PHP:
    $path0 f_camera_path($key0$key1$key2);
    if (
file_exists($path0 "."))
     echo 
"Ok"
La función f_camera_path me devuelve un camino 100% válido de la forma: "//servidorDeDatos/carpeta/carpeta/carpeta".

De hecho, esa misma función viene de ubicar el directorio que retorna utilizando entre otras, la mismísima función file_exists(), con parámetros similares. Es decir, la función antes de retornar, ha usado el file_exists(), sin embargo al retornar el path, una segunda llamada a file_exists() retorna falso.

¿Alguna idea?
  #2 (permalink)  
Antiguo 13/08/2003, 11:41
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 16 años
Puntos: 4
Por qué no pruebas poniendole la negación !

Solo se me ocurre eso:



Código PHP:
$path0 f_camera_path($key0$key1$key2);
    if (!
file_exists($path0 "."))
     echo 
"Ok"


Saludos.
__________________
EL LIMITE ES EL UNIVERSO
  #3 (permalink)  
Antiguo 13/08/2003, 15:46
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

¿Cual es el fichero que quieres comprobar que existe? Porque tal como lo tienes es "//servidorDeDatos/carpeta/carpeta/carpeta.", con el punto al final. O al menos tal como has descrito el valor que devuelve la funcion. Si quieres mirar si existe el fichero llamado '.', seria algo asi:
Código PHP:
if (file_exists($path0 "/.")) 
ya que dices que la funcion no devuelve el / final.

Aunque si lo que quieres es mirar si existe un directorio, quizas es mejor usar is_dir() (www.php.net/is_dir).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 13/08/2003, 15:48
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 16 años
Puntos: 38
Si, es que la función retorna hasta el último / por eso concateno solo el punto...donde dije lo que retornaba la función omiti el / final.
  #5 (permalink)  
Antiguo 13/08/2003, 15:56
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 16 años
Puntos: 38
Bueno, lo que he podido notar es que file_exists() falla cuando se direcciona una carpeta que no pertenece al propio servidor. Voy a probar con is_dir() a ver que pasa.

Gracias a ambos.
  #6 (permalink)  
Antiguo 13/08/2003, 19:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si tienes problemas .. usa fopen() .. simula una "apertura" del archivo .. si te devuelve error no existe .. else existe (y cierras el link creado) ..

(todo esto si tienes activados los "wrappers" para poder abrir archivos remotos ..)

De todas forma (como ya te has dado cuenta) .. file_exist() no funciona para archivos externos .. Y el resto de funciones están sujetas a esa configuración de los "wrappers" ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 04:49.