Files
kulakpos_web/app/Helpers/HasUploader.php
eko54r 6319d4c6cb
All checks were successful
Build, Push and Deploy / build-and-push (push) Successful in 3m15s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 14s
Build, Push and Deploy / deploy-staging (push) Successful in 36s
Build, Push and Deploy / deploy-production (push) Has been skipped
update on psosale string 1 bugs
2026-04-18 22:47:24 +07:00

86 lines
2.2 KiB
PHP

<?php
namespace App\Helpers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
trait HasUploader
{
private function upload(Request $request, $input, $oldFile = null, $disk = null)
{
$file = $request->file($input);
if (!$file) {
return $oldFile;
}
$ext = $file->getClientOriginalExtension();
$filename = now()->timestamp . '-' . rand(1, 1000) . '.' . $ext;
$path = 'uploads/' . date('y') . '/' . date('m') . '/';
$filePath = $path . $filename;
if ($oldFile) {
if (file_exists($oldFile)) {
Storage::delete($oldFile);
}
}
Storage::disk($disk ?? config('filesystems.default'))->put($filePath, file_get_contents($file));
return $filePath;
}
private function uploadWithFileName(Request $request, $input, $oldFile = null, $disk = null)
{
$file = $request->file($input);
if (!$file) {
return $oldFile;
}
$filename = $file->getClientOriginalName();
$path = 'files/';
$filePath = $path . $filename;
if ($oldFile) {
if (file_exists($oldFile)) {
Storage::delete($oldFile);
}
}
Storage::disk($disk ?? config('filesystems.default'))->put($filePath, file_get_contents($file));
return $filePath;
}
private function multipleUpload(Request $request, $input, $oldFiles = [], $disk = null)
{
$uploadedFiles = [];
$files = $request->file($input);
if (!$files) {
return $uploadedFiles;
}
foreach ($files as $file) {
$ext = $file->getClientOriginalExtension();
$filename = now()->timestamp . '_' . uniqid() . '.' . $ext;
$path = 'uploads/' . date('y') . '/' . date('m') . '/';
$filePath = $path . $filename;
foreach ($oldFiles as $oldFile) {
if (file_exists($oldFile)) {
Storage::delete($oldFile);
}
}
Storage::disk($disk ?? config('filesystems.default'))->put($filePath, file_get_contents($file));
$uploadedFiles[] = $filePath;
}
return $uploadedFiles;
}
}