Yab\Quarx\Services\FileService::saveClone PHP Method

saveClone() public static method

Saves File.
public static saveClone ( string $fileName, $directory = '', $fileTypes = [] ) : array
$fileName string File input name
return array
    public static function saveClone($fileName, $directory = '', $fileTypes = [])
    {
        $fileInfo = pathinfo($fileName);
        if (substr($directory, 0, -1) != '/') {
            $directory .= '/';
        }
        $extension = $fileInfo['extension'];
        $newFileName = md5(rand(1111, 9999) . time());
        // In case we don't want that file type
        if (!empty($fileTypes)) {
            if (!in_array($extension, $fileTypes)) {
                throw new Exception('Incorrect file type', 1);
            }
        }
        Storage::disk(Config::get('quarx.storage-location', 'local'))->put($directory . $newFileName . '.' . $extension, file_get_contents($fileName));
        return ['original' => basename($fileName), 'name' => $directory . $newFileName . '.' . $extension];
    }

Usage Example

コード例 #1
0
ファイル: ImageRepository.php プロジェクト: YABhq/Quarx
 /**
  * Stores Images into database.
  *
  * @param array $input
  *
  * @return Images
  */
 public function apiStore($input)
 {
     $savedFile = FileService::saveClone($input['location'], 'images/');
     if (!$savedFile) {
         return false;
     }
     $input['is_published'] = 1;
     $input['location'] = $savedFile['name'];
     $input['original_name'] = $savedFile['original'];
     return Image::create($input);
 }