در لاراول بارگذاری فایل بسیار ساده است برای آموزش بارگذاری فایل در لاراول به بررسی یک مثال کاربردی بصورت زیر می پردازیم. برای این منظور ابتدا با خط فرمان زیر کنترلر را FileUploadController
را ایجاد می کنیم.
[pastacode lang=”markup” manual=”php%20artisan%20make%3Acontroller%20FileUploadController%20–plain%0A” message=”” highlight=”” provider=”manual”/]
بعد از اجرای موفق خط فرمان بالا فایل FileUploadController.php
ایجاد می گردد آن را بصورت زیر ویرایش نمایید.
[pastacode lang=”php” manual=”%3C%3Fphp%0A%20%20%20%0Anamespace%20App%5CHttp%5CControllers%3B%0A%20%20%0Ause%20Illuminate%5CHttp%5CRequest%3B%0A%20%20%0Aclass%20FileUploadController%20extends%20Controller%0A%7B%0A%20%20%20%20%2F**%0A%20%20%20%20%20*%20Display%20a%20listing%20of%20the%20resource.%0A%20%20%20%20%20*%0A%20%20%20%20%20*%20%40return%20%5CIlluminate%5CHttp%5CResponse%0A%20%20%20%20%20*%2F%0A%20%20%20%20public%20function%20fileUpload()%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20return%20view(‘fileUpload’)%3B%0A%20%20%20%20%7D%0A%20%20%0A%20%20%20%20%2F**%0A%20%20%20%20%20*%20Display%20a%20listing%20of%20the%20resource.%0A%20%20%20%20%20*%0A%20%20%20%20%20*%20%40return%20%5CIlluminate%5CHttp%5CResponse%0A%20%20%20%20%20*%2F%0A%20%20%20%20public%20function%20fileUploadPost(Request%20%24request)%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%24request-%3Evalidate(%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20’file’%20%3D%3E%20’required%7Cmimes%3Apdf%2Cxlx%2Ccsv%7Cmax%3A2048’%2C%0A%20%20%20%20%20%20%20%20%5D)%3B%0A%20%20%0A%20%20%20%20%20%20%20%20%24fileName%20%3D%20time().’.’.%24request-%3Efile-%3Eextension()%3B%20%20%0A%20%20%20%0A%20%20%20%20%20%20%20%20%24request-%3Efile-%3Emove(public_path(‘uploads’)%2C%20%24fileName)%3B%0A%20%20%20%0A%20%20%20%20%20%20%20%20return%20back()%0A%20%20%20%20%20%20%20%20%20%20%20%20-%3Ewith(‘success’%2C’You%20have%20successfully%20upload%20file.’)%0A%20%20%20%20%20%20%20%20%20%20%20%20-%3Ewith(‘file’%2C%24fileName)%3B%0A%20%20%20%0A%20%20%20%20%7D%0A%7D” message=”app/Http/Controllers/FileUploadController.php” highlight=”” provider=”manual”/]
فایل روت را بصورت زیر ویرایش نمایید.
[pastacode lang=”php” manual=”Route%3A%3Aget(‘file-upload’%2C%20’FileUploadController%40fileUpload’)-%3Ename(‘file.upload’)%3B%0ARoute%3A%3Apost(‘file-upload’%2C%20’FileUploadController%40fileUploadPost’)-%3Ename(‘file.upload.post’)%3B” message=”routes/web.php” highlight=”” provider=”manual”/]
حال فایل fileUpload.blade.php
را در مسیر resources/views
بصورت زیر ایجاد نمایید.
[pastacode lang=”php” manual=”%3C!DOCTYPE%20html%3E%0A%3Chtml%3E%0A%3Chead%3E%0A%20%20%20%20%3Ctitle%3Elaravel%20file%20upload%20-%20uclass.ir%3C%2Ftitle%3E%0A%20%20%20%20%3Clink%20rel%3D%22stylesheet%22%20href%3D%22http%3A%2F%2Fgetbootstrap.com%2Fdist%2Fcss%2Fbootstrap.css%22%3E%0A%3C%2Fhead%3E%0A%20%20%0A%3Cbody%3E%0A%3Cdiv%20class%3D%22container%22%3E%0A%20%20%20%0A%20%20%20%20%3Cdiv%20class%3D%22panel%20panel-primary%22%3E%0A%20%20%20%20%20%20%3Cdiv%20class%3D%22panel-heading%22%3E%3Ch2%3Elaravel%20file%20upload%20-%20uclass.ir%3C%2Fh2%3E%3C%2Fdiv%3E%0A%20%20%20%20%20%20%3Cdiv%20class%3D%22panel-body%22%3E%0A%20%20%20%0A%20%20%20%20%20%20%20%20%40if%20(%24message%20%3D%20Session%3A%3Aget(‘success’))%0A%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22alert%20alert-success%20alert-block%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20type%3D%22button%22%20class%3D%22close%22%20data-dismiss%3D%22alert%22%3E%C3%97%3C%2Fbutton%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cstrong%3E%7B%7B%20%24message%20%7D%7D%3C%2Fstrong%3E%0A%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%3Cimg%20src%3D%22uploads%2F%7B%7B%20Session%3A%3Aget(‘file’)%20%7D%7D%22%3E%0A%20%20%20%20%20%20%20%20%40endif%0A%20%20%0A%20%20%20%20%20%20%20%20%40if%20(count(%24errors)%20%3E%200)%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22alert%20alert-danger%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cstrong%3EWhoops!%3C%2Fstrong%3E%20There%20were%20some%20problems%20with%20your%20input.%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cul%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%40foreach%20(%24errors-%3Eall()%20as%20%24error)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cli%3E%7B%7B%20%24error%20%7D%7D%3C%2Fli%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%40endforeach%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ful%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%40endif%0A%20%20%0A%20%20%20%20%20%20%20%20%3Cform%20action%3D%22%7B%7B%20route(‘file.upload.post’)%20%7D%7D%22%20method%3D%22POST%22%20enctype%3D%22multipart%2Fform-data%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%40csrf%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22row%22%3E%0A%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22col-md-6%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22file%22%20name%3D%22file%22%20class%3D%22form-control%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22col-md-6%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20type%3D%22submit%22%20class%3D%22btn%20btn-success%22%3EUpload%3C%2Fbutton%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%3C%2Fform%3E%0A%20%20%0A%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%3C%2Fdiv%3E%0A%3C%2Fdiv%3E%0A%3C%2Fbody%3E%0A%20%20%0A%3C%2Fhtml%3E” message=”resources/views/fileUpload.blade.php” highlight=”” provider=”manual”/]
فولدر uploads را در دایرکتوری روت بسازید و برنامه خود را اجرا نمایید.