Skip to content

Commit

Permalink
test9
Browse files Browse the repository at this point in the history
  • Loading branch information
hmdee committed Nov 28, 2024
1 parent 5b954e6 commit da7d9c0
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 10 deletions.
3 changes: 1 addition & 2 deletions app/Http/Controllers/CompanyController.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,8 @@ public function store(Request $request)
public function show(Company $company)
{
// TASK: retrieve the full URL to the uploaded photo file, using Spatie Media Library
$photo = '???';
$photo = $company->getFirstMediaUrl('photos');

return view('companies.show', compact('company', 'photo'));
}

}
14 changes: 14 additions & 0 deletions app/Http/Controllers/HouseController.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ public function update(Request $request, House $house)
$filename = $request->file('photo')->store('houses');

// TASK: Delete the old file from the storage
if ($house->photo) {
// حذف الملف القديم من التخزين
Storage::delete('houses/' . $house->photo);
}

$house->update([
'name' => $request->name,
Expand All @@ -38,5 +42,15 @@ public function download(House $house)
{
// TASK: Return the $house->photo file from "storage/app/houses" folder
// for download in browser
$filePath = 'houses/' . $house->photo;

// التحقق إذا كان الملف موجودًا
if (Storage::exists($filePath)) {
// إرجاع الملف ليتم تحميله عبر المتصفح
return Storage::download($filePath);
}

// إذا لم يكن الملف موجودًا، إرجاع خطأ 404
return abort(404, 'File not found');
}
}
14 changes: 10 additions & 4 deletions app/Http/Controllers/OfficeController.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,21 @@ class OfficeController extends Controller
{
public function store(Request $request)
{
// التحقق من وجود الملف في الطلب
$request->validate([
'photo' => 'required|file|max:1024', // التحقق من أن الملف موجود ولا يتجاوز 1 ميجابايت
]);

// الحصول على اسم الملف الأصلي
$filename = $request->file('photo')->getClientOriginalName();

// TASK: Upload the file "photo" so it would be written as
// storage/app/public/offices/[original_filename]
// رفع الملف إلى المجلد 'public/offices' وتخزينه مع الاسم الأصلي
$path = $request->file('photo')->storeAs('public/offices', $filename);

// إنشاء السجل الجديد في قاعدة البيانات
Office::create([
'name' => $request->name,
'photo' => $filename,
'photo' => $filename, // حفظ اسم الملف في قاعدة البيانات
]);

return 'Success';
Expand All @@ -26,5 +33,4 @@ public function show(Office $office)
{
return view('offices.show', compact('office'));
}

}
3 changes: 2 additions & 1 deletion app/Http/Controllers/ProjectController.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,12 @@ public function store(Request $request)
{
$request->validate([
// TASK: Write the validation rule so "logo" file would be MAX 1 megabyte
'logo' => 'required|file|max:1024',
]);

// TASK: change the below line so that $filename would contain only filename
// The same filename as the original uploaded file
$filename = '???';
$filename = $request->file('logo')->getClientOriginalName();
$request->file('logo')->storeAs('logos', $filename);

Project::create([
Expand Down
15 changes: 12 additions & 3 deletions app/Http/Controllers/ShopController.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,21 @@ class ShopController extends Controller
{
public function store(Request $request)
{
// 1. الحصول على اسم الملف الأصلي
$filename = $request->file('photo')->getClientOriginalName();

// 2. رفع الصورة إلى المجلد 'shops'
$request->file('photo')->storeAs('shops', $filename);

// TASK: resize the uploaded image from /storage/app/shops/$filename
// to size of 500x500 and store it as /storage/app/shops/resized-$filename
// Use intervention/image package, it's already pre-installed for you
// 3. تغيير حجم الصورة باستخدام Intervention Image
$image = Image::make(storage_path('app/shops/' . $filename)); // تحميل الصورة من المسار

// 4. تغيير الحجم إلى 500x500 بيكسل
$image->resize(500, 500);

// 5. حفظ الصورة المعدلة باسم جديد (resized-{$filename})
$resizedFilename = 'resized-' . $filename;
$image->save(storage_path('app/shops/' . $resizedFilename)); // حفظ الصورة المعدلة في المجلد نفسه

return 'Success';
}
Expand Down

0 comments on commit da7d9c0

Please sign in to comment.