file not found

Muchas veces nos encontramos con que tenemos que mostrar por ejemplo una serie de productos con imágenes, pero sabemos que no todos los productos tienen imágen.

La solución que normalmente se usa, es definir una imagen por defecto, y en caso de que el producto no tenga imagen, se muestra ésta imagen.

Esto nos obliga a hacer cosas como ésta:


if (empty($product["imagen"])

    echo '<img src="/images/imagen-no-disponible.png" />';

else

    echo '<img src="/images/'. $product["imagen"] .'" />';

o cosas como ésta:


if (!file_exists($product["imagen"])

echo '<img src="/images/imagen-no-disponible.png" />';

else

echo '<img src="/images/'. $product["imagen"] .'" />';

Bién, esto tiene un pequeño problema, nos obliga a poner este código en todas las partes de la página donde aparezca la imágen de algún producto.

Para evitar este problema, podemos usar un htaccess para que haga este trabajo por nosotros. En el código de nuestra página enlazaremos la imágen del producto sin comprobar si esta existe o no.


echo '<img src="/images/'. $product["imagen"] .'" />';

Y en la carpeta “images” incluiremos un htaccess en el cual definiremos la imagen por defecto si no se encuentra el documento.


ErrorDocument 404 /images/notfound.png

De ésta manera, no tenedremos que lidiar con si éxiste o no la imágen, y nos liberamos de ésta tarea en toda la página. Además, devolvemos un código 404 que es lo que se debe indicar si el archivo no éxiste.

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

 
© 2018 David Rojo González | Tecnología, programación web, SEO Suffusion theme by Sayontan Sinha