Beispiel #1
0
 /**
  * @param string $string
  * @return string
  */
 public function parse($string = null)
 {
     if (is_null($string)) {
         $string = $this->config->get('storage_filename');
     }
     $filename = $string;
     $unique = uniqid();
     $hash = md5(implode(' ', $this->config->getFolders()) . ' ' . implode(' ', $this->config->getFiles()));
     $host = gethostname();
     $search = ['{unique}', '{hash}', '{host}'];
     $replace = [$unique, $hash, $host];
     $filename = str_replace($search, $replace, $filename);
     $filename = preg_replace_callback('/\\{date:([^\\}]*)\\}/', function ($hit) {
         return date($hit[1]);
     }, $filename);
     $filename .= '.' . $this->config->get('extension');
     return strtolower($filename);
 }