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

generateRandomPath() public method

Generates a $n level folder tree with random integer by exploding the filename
public generateRandomPath ( boolean $createDir = false, string $uploadRootPath = './', integer $level = 3 ) : string
$createDir boolean
$uploadRootPath string upload root path
$level integer
return string
    public function generateRandomPath($createDir = false, $uploadRootPath = './', $level = 3)
    {
        $level = $level > 6 ? 6 : $level;
        $array = str_split(md5(mt_rand()), 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
 /**
  * @param $file
  * @param bool $isImage
  * @return string
  */
 private function storeFile($file, $isImage = false)
 {
     $fs = new Filesystem();
     $rootDir = $this->kernel->getRootDir();
     $issueFileDir = $rootDir . '/../web/uploads/issuefiles/';
     $journalUploadDir = $rootDir . '/../web/uploads/journal/';
     $fileHelper = new FileHelper();
     $randomPath = $fileHelper->generateRandomPath();
     $generateRandomPath = $randomPath . $file['filename'];
     if ($isImage) {
         $fs->dumpFile($journalUploadDir . $generateRandomPath, base64_decode($file['encoded_content']));
         $fs->dumpFile($journalUploadDir . 'croped/' . $generateRandomPath, base64_decode($file['encoded_content']));
         $this->apiHelper->createFileHistory($generateRandomPath, $generateRandomPath, 'journal', $this->om, true);
         return $generateRandomPath;
     } else {
         $fs->dumpFile($issueFileDir . $generateRandomPath, base64_decode($file['encoded_content']));
         $this->apiHelper->createFileHistory($generateRandomPath, $generateRandomPath, 'issuefiles', $this->om, true);
         return $generateRandomPath;
     }
 }
All Usage Examples Of Ojs\CoreBundle\Helper\FileHelper::generateRandomPath