$file->getClientOriginalName(), 'filetype' => $file->getClientOriginalExtension(), 'filesize' => $file->getSize(), 'mime' => $file->getMimeType(), ]; } public static function getUuid($file, $data) { $data = is_array($data) ? (object) $data : $data; $pos = strrpos($file, '/'); $uuid = substr($file, $pos + 1); return pathinfo($uuid, PATHINFO_FILENAME); } public static function storeByVar($var, $path, $public = false) { $request = Request(); return $request->has($var) ? basename($request->file($var)->store($path)) : false; } public static function store($file, $path) { return Storage::putFile($path, $file); } public static function storePublic($file, $filepath) { return Storage::putFile($filepath, $file, 'public'); } public static function createThumb($file, $size, $sub = false) { $thumb = self::getThumbPath($file, $sub); $filename = self::getPublicPath($file); return Image::make($filename)->orientate()->widen($size)->save($thumb); } public static function getPublicPath($file) { return storage_path('app/public/'.self::getFilename($file)); } public static function getPrivatePath($file) { return storage_path('app/'.self::getFilename($file)); } public static function getSrc($file) { return '/storage/'.self::getFilename($file); } public static function getThumbPath($file) { return storage_path('app/public/'.self::getThumbFilename($file)); } public static function getThumbSrc($file) { return '/storage/'.self::getThumbFilename($file); } public static function getFilename($file) { $file = is_array($file) ? (object) $file : $file; return $file->filepath.'/'.self::getName($file); } public static function getThumbFilename($file, $sub = false) { $sub = $sub ? $sub : 'thumbs/'; $file = is_array($file) ? (object) $file : $file; return $file->filepath.'/'.$sub.self::getName($file); } public static function getName($file) { $file = is_array($file) ? (object) $file : $file; return $file->uuid.'.'.strtolower($file->filetype); } public static function fix($path) { if (! self::isWindows()) { return $path; } return str_replace('/', '\\', $path); } public static function move($source, $dest) { if (Storage::exists($dest)) { self::delete($dest); } return Storage::move($source, $dest); } public static function delete($file) { return Storage::exists($file) ? Storage::delete($file) : false; } public static function deleteRecursive($path) { return rmdir_recursive($path); } public function make_dir($path, $permissions = 0777) { return is_dir($path) || mkdir($path, $permissions, true); } public static function isWindows() { return strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'; } }