Changeset 12820 for trunk/i.php
- Timestamp:
- Jan 1, 2012, 10:10:43 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/i.php
r12802 r12820 168 168 try 169 169 { 170 $page['derivative_params'] = ImageParams::from_url_tokens($deriv);170 $page['derivative_params'] = DerivativeParams::from_url_tokens($deriv); 171 171 } 172 172 catch (Exception $e) … … 184 184 } 185 185 186 187 function send_derivative($expires) 188 { 189 global $page; 190 $fp = fopen($page['derivative_path'], 'rb'); 191 192 $fstat = fstat($fp); 193 header('Last-Modified: '.gmdate('D, d M Y H:i:s', $fstat['mtime']).' GMT'); 194 if ($expires!==false) 195 { 196 header('Expires: '.gmdate('D, d M Y H:i:s', $expires).' GMT'); 197 } 198 header('Content-length: '.$fstat['size']); 199 header('Connection: close'); 200 201 $ctype="application/octet-stream"; 202 switch (strtolower($page['derivative_ext'])) 203 { 204 case ".jpe": case ".jpeg": case ".jpg": $ctype="image/jpeg"; break; 205 case ".png": $ctype="image/png"; break; 206 case ".gif": $ctype="image/gif"; break; 207 } 208 header("Content-Type: $ctype"); 209 210 fpassthru($fp); 211 fclose($fp); 212 } 186 213 187 214 … … 220 247 { 221 248 $need_generate = true; 249 } 250 251 $expires=false; 252 $now = time(); 253 if ( $now > (max($src_mtime, $params->last_mod_time) + 24*3600) ) 254 {// somehow arbitrary - if derivative params or src didn't change for the last 24 hours, we send an expire header for several days 255 $expires = $now + 10*24*3600; 222 256 } 223 257 … … 231 265 exit; 232 266 } 233 // todo send pass-through267 send_derivative($expires); 234 268 } 235 269 … … 271 305 $image->destroy(); 272 306 273 $fp = fopen($page['derivative_path'], 'rb'); 274 275 $fstat = fstat($fp); 276 header('Last-Modified: '.gmdate('D, d M Y H:i:s', $fstat['mtime']).' GMT'); 277 header('Expires: '.gmdate('D, d M Y H:i:s', time()+10*24*3600).' GMT'); 278 header('Content-length: '.$fstat['size']); 279 header('Connection: close'); 280 281 $ctype="application/octet-stream"; 282 switch (strtolower($page['derivative_ext'])) 283 { 284 case ".jpe": case ".jpeg": case ".jpg": $ctype="image/jpeg"; break; 285 case ".png": $ctype="image/png"; break; 286 case ".gif": $ctype="image/gif"; break; 287 } 288 header("Content-Type: $ctype"); 289 290 fpassthru($fp); 291 fclose($fp); 307 send_derivative($expires); 292 308 ?>
Note: See TracChangeset
for help on using the changeset viewer.