Pregunta

Tengo un problema con los enlaces probar localmente usando Apache con Windows. Los enlaces finales tienen el siguiente formato:

file:///C:/Documents and Settings/USUARIO/My Documents/xampp/htdocs/my_website/images/january/my_image.jpg

Las imágenes no muestran. Sin embargo, si yo copio directamente el src de la etiqueta img y pegarlo en el navegador (Firefox), la imagen aparece.

que generan los enlaces utilizando el siguiente código:

defino el directorio de imágenes usando: define(IMAGE_DIR, dirname(__FILE__).'/images/');
Luego utilizo el siguiente dar formato a la ruta:

$imgPath = IMAGE_DIR.$month.$img;   
if($localServer)
{
   $imgPath = str_replace('/','\\', $imgPath);
   $imgPath = 'file:///'.$imgPath;
}

Lo que estoy haciendo mal?

¿Fue útil?

Solución

Estás generando fuentes de imagen que las URLs uso file:// en una página que se cargan desde un servidor web. URL de archivos indicar al navegador para cargar un archivo directamente desde el disco sin hacer una petición al servidor web. Por razones de seguridad, Firefox y otros navegadores no permiten páginas servidas por un servidor web para hacer referencia a archivos locales, por lo que no muestran las imágenes. Las personas que acceden a su sitio de forma remota no podrán acceder a los archivos ya sea porque el origen de la imagen podría ser una referencia a un camino en su ordenador.

Para obtener las imágenes aparezcan, usted tiene que cambiar sus fuentes de imágenes para referirse a los lugares en el servidor web, por ejemplo images/january/my_image.jpg o /images/january/my_image.jpg.

images/january/my_image.jpg será interpretado por el navegador web en relación con que se solicita la página. Por ejemplo, si la imagen aparece en la página en http://localhost/page1.php, entonces el navegador solicitará http://localhost/images/january/my_image.jpg. Sin embargo, si la imagen se utiliza en una página en http://localhost/subdir/page1.php, el navegador solicitará http://localhost/subdir/images/january/my_image.jpg lugar.

/images/january/my_image.jpg siempre será interpretado en relación con la raíz del sitio web. El navegador web solicitará http://localhost/images/january/my_image.jpg para cualquier página en http://localhost.

También puede utilizar una URL absoluta si necesita hacer referencia a una imagen en otro servidor web, por ejemplo, http://otherhost/images/january/my_image.jpg.

Otros consejos

Es mejor utilizar la constante "DIRECTORY_SEPARATOR" en lugar de '/' o '\'

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top