getClientOriginalName(); $data['filetype'] = $file->getClientOriginalExtension(); $data['filesize'] = $file->getSize(); $data['mime'] = $file->getMimeType(); return $data; } public static function getUuid($file, $data) { $data = (is_array($data)) ? (object) $data : $data; $pos = strrpos($file, '/'); $uuid = substr($file, $pos + 1); $uuid = pathinfo($uuid, PATHINFO_FILENAME); return $uuid; } public static function storeByVar($var, $path, $public = false) { // check if filename exists // store // Storage::disk('local')->put('file.txt', 'Contents'); // $path = Storage::putFile('avatars', $request->file('avatar')); // $path = $request->file('avatar')->storeAs('avatars',$request->user()->id,'s3'); // $path = $request->file('avatar')->storePublicly('avatars', 's3'); $request = Request(); return $request->has($var) ? basename($request->file($var)->store($path)) : false; } public static function store($file, $path) { return Storage::putFile($path, $file); // return $file->store($filepath); } public static function storePublic($file, $filepath) { return Storage::putFile($filepath, $file, 'public'); // $filepath = 'public/' . $filepath; // return $file->store($filepath); } 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 getPath($file) { return 'public/' . self::getFilename($file); } */ 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); } /** * [fix problem path with Storage on Windows] * * @param [type] $path [description] * @return [type] [description] */ 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'); } }