private function createExternalImageFileName($filename)
{
$t = microtime(true);
$micro = sprintf("%06d", ($t - floor($t)) * 1000000);
$extname = md5($filename . date('YmdHis') . $micro);
if (preg_match('/([0-9a-z]{8})([0-9a-z]{4})([0-9a-z]{5})([0-9a-z]{4})([0-9a-z]{11})/', $extname, $m)) {
return "{$m[1]}-{$m[2]}-{$m[3]}-{$m[4]}-{$m[5]}" . $extname[rand(0, 31)] . "." . $this->getExtension($filename);
}
}