PHP - file_exists siempre da False

 
Vista:
Imágen de perfil de Gina
Val: 46
Ha disminuido su posición en 9 puestos en PHP (en relación al último mes)
Gráfica de PHP

file_exists siempre da False

Publicado por Gina (27 intervenciones) el 03/05/2019 18:13:33
Buenas tardes.

Un buen día dejaron de mostrarse mis imágenes en mi sitio web.
Estoy sustituyendo fopen por file_exists y usando php 5.6 pero simplemente NO me funciona.
En la carpeta que contiene las imágenes coloqué el permiso 777 pensando que era por alguna restricción pero nada.
La ruta hace referencia a una dirección y dominio distinto a donde se está ejecutando el programa.
El código es el siguiente y está dentro de un while donde $fotoA contiene el nombre de la imagen (ImagenX.jpg):

$urlA="http://www.dominio.mx/admin/files_fotos_min/".$fotoA;
$fpA=file_exists($urlA);

<div class="multizoom1 thumbs">
if ($fpA){
echo "<a href=".$urlA." data-large=http://www.dominio.mx/admin/files_fotos_min/".$fotoA."><img src=".$urlA." height=40/></a>"; } // muestra la imagen
else { echo $urlA;} // Muestra la ruta para verificar y sí es correcta en todos lo casos
</div>

¿Alguna orientación que me puedan dar?
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
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

file_exists siempre da False

Publicado por Alejandro (839 intervenciones) el 03/05/2019 22:30:20
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Lo he hecho con curl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$filename = 'http://www.dominio.com/images/file.jpg';
$filename = filter_var($filename, FILTER_VALIDATE_URL);
 
$handle = curl_init($filename);
 
curl_setopt_array($handle, array(
	CURLOPT_FOLLOWLOCATION => TRUE,
	CURLOPT_NOBODY         => TRUE,
	CURLOPT_HEADER         => FALSE,
	CURLOPT_RETURNTRANSFER => FALSE,
	CURLOPT_SSL_VERIFYHOST => FALSE,
	CURLOPT_SSL_VERIFYPEER => FALSE
));
 
$response = curl_exec($handle);
$httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
curl_close($handle);
 
if($httpCode == 200){
	// Mostrar imagen
}else{
	// Mostrar cualquier otra cosa
}

Este otro ejemplo no lo he probado
1
2
3
4
5
6
7
8
9
10
$filename= 'https://www.google.pl/logos/2012/haring-12-hp.png';
$file_headers = @get_headers($filename);
 
if($file_headers[0] == 'HTTP/1.0 404 Not Found'){
      echo "The file $filename does not exist";
} else if ($file_headers[0] == 'HTTP/1.0 302 Found' && $file_headers[7] == 'HTTP/1.0 404 Not Found'){
    echo "The file $filename does not exist, and I got redirected to a custom 404 page..";
} else {
    echo "The file $filename exists";
}
Fuente
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
Imágen de perfil de Gina
Val: 46
Ha disminuido su posición en 9 puestos en PHP (en relación al último mes)
Gráfica de PHP

file_exists siempre da False

Publicado por Gina (27 intervenciones) el 03/05/2019 22:48:50
Gracias Alejandro.
Pero eso significa que file_exists ¿no la puedo usar?
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
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

file_exists siempre da False

Publicado por Alejandro (839 intervenciones) el 03/05/2019 22:57:45
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Me parece que por ser un servidor diferente no lo puedes usar, pero en windows si el servidor esta en la misma red que el servidor de tu pagina se puede compartir y acceder con las diagonales invertidas \\nombre_equipo\recurso\nombre_fichero
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
Imágen de perfil de Gina
Val: 46
Ha disminuido su posición en 9 puestos en PHP (en relación al último mes)
Gráfica de PHP

file_exists siempre da False

Publicado por Gina (27 intervenciones) el 03/05/2019 23:19:18
Pues ambos dominios los tengo en el mismo servidor, y si sólo pongo la ruta del archivo sin verificar sí se muestra sin problema.
Pero como tengo que validar que exista ya que algunos productos aún no tienen foto(.jpg) o instructivo de armado (.pdf), es que usaba el fopen y trabajaba sin problema hasta hace un par de semanas.
De allí que ando probando de que otra manera validar la existencia de los archivos pero no he podido hasta el momento.
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
Imágen de perfil de Gina
Val: 46
Ha disminuido su posición en 9 puestos en PHP (en relación al último mes)
Gráfica de PHP

file_exists siempre da False

Publicado por Gina (27 intervenciones) el 18/06/2020 20:20:14
Y si la ruta es de https ¿funciona?
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
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

file_exists siempre da False

Publicado por Kathyu (905 intervenciones) el 18/06/2020 22:50:23
A mas de un año, aun no lo solventó??????
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