Ojs\CoreBundle\Helper\FileHelper::generatePath PHP Method

generatePath() public method

Generates a $n level folder tree for given filename by exploding the filename
public generatePath ( string $fileName, boolean $createDir = false, string $uploadRootPath = './', integer $level = 3 ) : string
$fileName string
$createDir boolean
$uploadRootPath string upload root path
$level integer
return string
    public function generatePath($fileName, $createDir = false, $uploadRootPath = './', $level = 3)
    {
        $level = $level > 6 ? 6 : $level;
        $array = str_split(md5($fileName), 4);
        $path = '';
        $arraySliced = array_slice($array, 0, $level);
        foreach ($arraySliced as $item) {
            $path .= $item . '/';
            $createDir && !file_exists($uploadRootPath . $path) && mkdir($uploadRootPath . $path);
        }
        return $path;
    }

Usage Example

Esempio n. 1
0
 /**
  * {@inheritDoc}
  */
 public function create($fileName, $originalName, $type, $userId)
 {
     $fileHistory = new FileHistory();
     $fileHelper = new FileHelper();
     $fileName = $fileHelper->generatePath($fileName, false) . $fileName;
     $fileHistory->setFileName($fileName);
     $fileHistory->setOriginalName($originalName);
     $fileHistory->setType($type);
     if ($userId == null) {
         $fileHistory->setUserId($this->getAuthUserId());
     } else {
         $fileHistory->setUserId($userId);
     }
     return $fileHistory;
 }
All Usage Examples Of Ojs\CoreBundle\Helper\FileHelper::generatePath