if (!empty($request->image)) {
$file =$request->file('image');
$extension = $file->getClientOriginalExtension();
$filename = time().'.' . $extension;
$file->move(public_path('uploads/'), $filename);
$data['image']= 'public/uploads/'.$filename;
}
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class ImageUploadController extends Controller
{
/**
* Display a listing of the resource.
*
* @return IlluminateHttpResponse
*/
public function imageUpload()
{
return view('imageUpload');
}
/**
* Display a listing of the resource.
*
* @return IlluminateHttpResponse
*/
public function imageUploadPost(Request $request)
{
$request->validate([
'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
]);
$imageName = time().'.'.$request->image->extension();
$request->image->move(public_path('images'), $imageName);
/* Store $imageName name in DATABASE from HERE */
return back()
->with('success','You have successfully upload image.')
->with('image',$imageName);
}
}
// Image uploaad laravel
if (!empty($request->files) && $request->hasFile('image')) {
$input1 = array();
$upload_path = 'storage/uploads/customers/';
$old_file = $upload_path . '/' . $input['old_image'];
if (Storage::exists($old_file)) {
//delete previous file
unlink($old_file);
}
$file = $request->file('image');
$file_name = $file->getClientOriginalName();
$type = $file->getClientOriginalExtension();
$real_path = $file->getRealPath();
$size = $file->getSize();
$size_mbs = ($size / 1024) / 1024;
$mime_type = $file->getMimeType();
$file_temp_name = 'profile_' . time() . '.' . $type;
$old_file = $upload_path . '/' . $file_temp_name;
$path = storage_path() . '/app/public/uploads/customers/' . $file_temp_name;
$img = Image::make($file)->resize(300, 300);
$img->save($path);
$input1['image'] = $file_temp_name;
}
$image= $request->image;
$imageName=time().'.'.$image->getClientOriginalExtension();
$request->image->move('chefsimage', $imageName);
$data->image=$imageName;
$image= $request->image;
$imageName=time().'.'.$image->getClientOriginalExtension();
$request->image->move('imagefolder', $imageName);
$data->image=$imageName;
$fileName = $file->storePublicly('images/media', [
'disk' => 's3'
]);
/* Route */
Route::resource('/admin/projects', ProjectsController::class);
/* Migration */
Schema::create('projects', function (Blueprint $table) {
$table->id();
$table->string('project_image')->nullable();
$table->timestamps();
});
/* Upload image */
<input type="file" name="project_image">
/* Contoller */
public function index()
{
$projects = Projects::all();
return view('admin.projects.index', ['projects' => $projects]);
}
public function create()
{
return view('admin.projects.create');
}
public function store(Request $request)
{
$file = $request->file("project_image");
$extenstion = $file->getClientOriginalExtension();
$filename = time().'.'.$extenstion;
$file->move('images/projects/', $filename);
Projects::create([
'project_image' => $filename,
]);
return redirect()->route('projects.index')->with('success','Project created successfully.');
}
/* Show image */
<img src="{{ asset('/images/projects/'.$project->project_image) }}" alt="..."/>
If the upload isnt working try this in you php.ini
upload_max_filesize = 20M
post_max_size = 20M
<?php
use IlluminateSupportFacadesRoute;
use AppHttpControllersImageUploadController;
Route::get('image-upload', [ ImageUploadController::class, 'imageUpload' ])->name('image.upload');
Route::post('image-upload', [ ImageUploadController::class, 'imageUploadPost' ])->name('image.upload.post');