Bonjour,
Pour les besoins d'un développement nous avons du mettre en place un serveur media sur lequel est hébergé toutes les images produits du projet.
Sur ce même serveur nous avons un script php qui va tester l'existence du fichier image selon les paramètres qui lui sont passés pour afficher un no_image dans le cas ou celui ci n'existerai pas.
Un htaccess est également présent pour éviter de faire un appel direct au script php dans le but d'avoir des noms de fichier de type mon_fichier.jpg et non image.php?n=mon_fichier
Mon pb est le suivant les images ne sont jamais en cache (avec firebug le status de celles ci est toujours 200 au lieu de l'abituel 304 not modified)
Voici le détail de l'htaccess
Voici le détail du fichier php
si quelqu'un a une idée à mon pb je suis preneur
Merci d'avance pour vos réponses
Pour les besoins d'un développement nous avons du mettre en place un serveur media sur lequel est hébergé toutes les images produits du projet.
Sur ce même serveur nous avons un script php qui va tester l'existence du fichier image selon les paramètres qui lui sont passés pour afficher un no_image dans le cas ou celui ci n'existerai pas.
Un htaccess est également présent pour éviter de faire un appel direct au script php dans le but d'avoir des noms de fichier de type mon_fichier.jpg et non image.php?n=mon_fichier
Mon pb est le suivant les images ne sont jamais en cache (avec firebug le status de celles ci est toujours 200 au lieu de l'abituel 304 not modified)
Voici le détail de l'htaccess
Code:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.+)-(.+)-(.+)\.jpg image_product_id.php?c=$1&p=$2&w=$3 [L,QSA]
Voici le détail du fichier php
Code:
<?php
if(isset($_GET['type']) && !empty($_GET['type'])) { $sType = $_GET['type']; } else { $sType = 'jpg'; }
if(isset($_GET['c']) && !empty($_GET['c'])) { $sCodeReseau = $_GET['c']; }
if(isset($_GET['p']) && !empty($_GET['p'])) { $iProductId = $_GET['p']; }
if(isset($_GET['w']) && !empty($_GET['w'])) { $iTailleImage = $_GET['w']; }
$sNomImage = "../produits_id/".$iProductId.'_'.$iTailleImage.'_'.$iTailleImage.'.'.$sType;
$sNomNoImage = "../NO_IMAGE/".strtolower($sCodeReseau).'_'.$iTailleImage.'_'.$iTailleImage.'.'.$sType;
if(file_exists($sNomImage)) { $sImage = $sNomImage; } else { $sImage = $sNomNoImage; }
header('Content-type:image/'.$sType);
header('Content-transfer-encoding: binary');
header('Content-length: '.filesize($sImage));
$offset = 60 * 60 * 24 * 3;
header('Cache-Control: '.$offset);
$ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
header($ExpStr);
readfile($sImage);
?>
si quelqu'un a une idée à mon pb je suis preneur
Merci d'avance pour vos réponses