$c = count($parts); $parts[$c - 1] = $basenamePrefix . $parts[$c - 1]; $cachedImagePath = 'cache/' . implode('/', $parts); $cachedImageDirectory = dirname($cachedImagePath); if (!file_exists($cachedImagePath)) { include_once dirname(__FILE__) . '/../../project.php'; if (!file_exists($cachedImageDirectory)) { mkdir($cachedImageDirectory, 0755, true); } $imageProc = new ImageProcessor($originalImagePath); if (isset($method)) { call_user_func_array(array($imageProc, $method), $params); } if ($applyWatermark) { $watermarkImagePath = dirname(__FILE__) . '/watermark2.png'; $imageProc->applyWatermark($watermarkImagePath); } $imageProc->save($cachedImagePath); $imageProc->destroy(); $isCached = 'NO'; } else { $isCached = 'YES'; } header('X-Image-Cached:' . $isCached); header('Content-Type:image/jpeg'); if ($isCached == "YES") { header("Cache-Control: private, max-age=10800, pre-check=10800"); header("Pragma: private"); header("Expires: " . date(DATE_RFC822, strtotime(" 30 day"))); } @readfile($cachedImagePath);