protected function saveToCache($items, $fileName) { $content = serialize($items); $directoryName = dirname($fileName); if (!is_dir($directoryName)) { mkdir($directoryName, $this->cacheFileMode, true); } file_put_contents($fileName, $content, LOCK_EX); // For cache files we don't want executable bits by default chmod($fileName, $this->cacheFileMode & ~0111); }