PHP - file_exists que no encuentra nada

 
Vista:

file_exists que no encuentra nada

Publicado por M@rceloL (7 intervenciones) el 02/08/2007 05:21:41
Buenas, gente.

Soy nuevo en este asunto de PHP y estoy tratando de generar un nombre de archivo no repetido para cuando hay que subir una imagen al sitio. Para esto se me ocurrió hacer un ciclo do...while e ir pasando por un valor aleatorio para las letras...

En fin, lo que ocurre es que el file_exists siempre me devuelve false, exista o no el archivo, siempre devuelve false. Y, claro, no puedo subir un archivo si ya existe uno con el mismo nombre...

Estuve leyendo por ahí que si se trabaja en modo seguro, el owner tiene que ser el mismo para el .php y para el archivo que yo quiera consultar. Cosa que me fijé y está correcta, pero aún así sigue sin funcionar el bendito file_exists.

¿Hay alguna otra cosa que molesta al file_exists aparte del owner?

Saludos y gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:file_exists que no encuentra nada

Publicado por Diego Romero (1450 intervenciones) el 03/08/2007 00:00:31
Me parece que estás consultando sobre un directorio que no existe en el path donde se está ejecutando el script, esto suele ser confuso. El path del script es el que se muestra en la barra de navegación, no donde reside físicamente el archivo de script. Me explico:

Si el archivo .php está físicamente en:
home/web/script/script.php

Pero el navegador está apuntando en:
www.example.com/script.php

El path actual de script.php es / (directorio raiz), no es "home/web/script/".

Supongamos que tus archivos de imágenes están en /imagenes, la función file_exists(); debería ser así;

1
2
3
4
$archivoabuscar = GenerarNombreAleatorio();
$buscar = "/imagenes/".$archivoabuscar;
if (file_exists($buscar) { echo "el archivo ".$buscar." existe" }
else { echo "el archivo ".$buscar." NO existe" }

De esta forma te aseguras que sin importar dónde esté ejecutándose el script la búsqueda siempre es relativa al directorio raiz de tu home.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:file_exists que no encuentra nada

Publicado por M@rceloL (7 intervenciones) el 03/08/2007 14:11:12
Gracias, Diego.

Eso ya lo había notado. Igualmente con "/" y todo la cosa no funciona.

Definitivamente es algo con los permisos, porque si el script lo pongo en la misma carpeta donde está el archivo, ahí sí que lo encuentra...

En fin, habrá que seguir mirando qué %$/##@ está pasando...

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:file_exists que no encuentra nada

Publicado por juanjo (1 intervención) el 07/08/2007 18:48:25
si consigues algo, por favor, dimelo. yo tengo el mismo problema y con la funcion fopen()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:file_exists que no encuentra nada

Publicado por jorge anibal escobar (21 intervenciones) el 07/09/2007 04:52:40
hola muchachoa tenia el mismo prblema pero
asi funciona
1
2
3
4
if (file_exists ("./areas/j.JPG"))
	echo "si";
else
	echo "no";

quitas el .
1
2
3
4
if (file_exists ("/areas/j.JPG"))
	echo "si";
else
	echo "no";

y no funciona
quitas /
1
2
3
4
if (file_exists ("areas/j.JPG"))
	echo "si";
else
	echo "no";

y funciona
espero les sirba
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

RE:file_exists que no encuentra nada

Publicado por Topepi (Luis) (1 intervención) el 24/11/2014 23:32:38
Hay que especificar la ruta desde la carpeta raiz, pueden intentarlo de la siguiente manera y no deberan tener problemas:

Voy a utilizar el ejemplo de Jorge Anibal

1
2
3
4
if (file_exists ($_SERVER['DOCUMENT_ROOT']."/areas/j.JPG"))
echo "si";
else
echo "no";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar