102 lines
2.6 KiB
PHP
102 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace App\Repositories\Core;
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Storage;
|
|
use Intervention\Image\Facades\Image as Image;
|
|
|
|
class Upload
|
|
{
|
|
public static function getData($file)
|
|
{
|
|
$data['filename'] = $file->getClientOriginalName();
|
|
$data['filetype'] = $file->extension();
|
|
$data['filesize'] = $file->getSize();
|
|
return $data;
|
|
}
|
|
|
|
public static function getUuid($file, $data)
|
|
{
|
|
$data = (is_array($data)) ? (object) $data : $data;
|
|
$pos = strrpos($file, '/');
|
|
$uuid = substr($file, $pos+1);
|
|
$uuid = str_replace('.' . $data->filetype, '', $uuid);
|
|
return $uuid;
|
|
}
|
|
|
|
public static function store($file, $filepath)
|
|
{
|
|
return $file->store($filepath);
|
|
}
|
|
|
|
public static function storePublic($file, $filepath)
|
|
{
|
|
// exit;
|
|
$filepath = 'public/' . $filepath;
|
|
return $file->store($filepath);
|
|
}
|
|
|
|
public static function delete($file)
|
|
{
|
|
return Storage::delete($file);
|
|
}
|
|
|
|
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 . '.' .$file->filetype;
|
|
}
|
|
}
|