laravel上傳文件&獲取請求實例(隱式)

laravel上傳文件&獲取請求實例(隱式)php

laravel能夠進行定義隱式控制器html

首先在route.php定義以下路由laravel

Route::controller('request','RequestController');

App\Http\Controllers下建立RequestController.php瀏覽器

class RequestController extends Controller
{
    public function getBasetest(Request $request)
    {
        $input = $request->input('test');
        echo $input;
    }
}

http:/(你的域名)/request/basetest?test=123,能夠發現瀏覽器會輸出123app

Noticepost

以下所示,由於使用的是get方法,因此方法名稱以get開頭 當方法爲駝峯式寫法時,調用時候請使用__-__url

public function getFuckCode(){
........
}

調用的時候則使用http:/(你的域名)/request/fuck-code,若是是post,則同理code

第一種上傳文件的存儲方式:將文件默認放在public文件下orm

public function getFileUpload(){
        $postUrl = asset('request/file-upload');
        $csrf_field = csrf_field();
        $html = <<<CREATE
        <form action ="$postUrl" method="post" enctype="multipart/form-data">
        $csrf_field
        <input type="file" name="file"></br></br>
        <input type="submit">
        </form>
CREATE;
        return $html;

    }

    public function postFileUpload(Request $request){
        if(!$request->hasFile('file')){
            exit('文件爲空');
        }
        $file = $request->file('file');
        
        if(!$file->isValid()){
            exit('文件上傳出錯');
        }

        $destPath = public_path('images');

        if(!file_exists($destPath))
            mkdir($destPath,0755,true);

        $filename = $file->getClientOriginalName();

         $file->move($destPath,$filename);
        
    }

第二種上傳文件的存儲方式:使用laravel提供的本地存儲 在storage/app下csrf

public function pic(Request $request){
        $request->input('image_url');

        $file = Input::file('image_url');
        if($file->isValid()){
            Storage::put(
                'images/'.$request->user()->id.'.jpg',
                file_get_contents($request->file('image_url')->getRealPath())
            );
        }
        $image_url  = '/laravelfuck/storage/app/images/'.$request->user()->id.'.jpg';

    
        return redirect('Admin/index');
    }
相關文章
相關標籤/搜索