laravel HTTP 요청: 쿠키 및 업로드된 파일 가져오기

齐天大圣
풀어 주다: 2020-12-15 09:28:14
원래의
1854명이 탐색했습니다.

COOKIE

Laravel은 최하위 레이어의 쿠키 값을 암호화하고 서명을 위해 인증 코드를 사용합니다. 따라서 클라이언트가 쿠키 값을 수정하면 유효하지 않게 됩니다. 이렇게 하면 쿠키 위조에 대해 걱정할 필요가 없습니다.

쿠키 값 설정

쿠키 값 설정은 여기에서 간략하게 설명하는 라라벨 응답(Response)에 대한 지식을 사용합니다.

쿠키 함수를 사용하여 쿠키를 생성한 다음 응답 함수를 통해 클라이언트에 쿠키를 반환할 수 있습니다.

// cookie($name, $value, $minutes, $path, $domain, false, ...);
$cookie = cookie('username', 'php.cn', 3600);
return response('hello laravel')->cookie($cookie);
로그인 후 복사

쿠키 함수를 사용하는 것 외에도 응답 인스턴스의 쿠키 메서드를 사용하여 설정할 수도 있습니다. 그리고 그것을 돌려보내세요. 이 메소드와 쿠키 함수의 매개변수는 일관됩니다.

return response('Hello World')->cookie(
    'name', 'php.cn', 3600
);
로그인 후 복사

쿠키 값 가져오기

쿠키 값을 가져오는 방법에는 두 가지가 있습니다. 이 두 가지 방법은 아래에 설명되어 있습니다.

use Illuminate\Http\Request;
$value = $request->cookie('name');
// 或
use Illuminate\Support\Facades\Cookie;
$value = Cookie::get('name');
로그인 후 복사

업로드된 파일 가져오기

laravel 프레임워크는 업로드된 파일을 가져옵니다. 파일을 매우 간단하게 유지합니다.

업로드된 파일을 가져오는 방법에는 파일 방법과 동적 속성 방법을 사용하는 두 가지 방법이 있습니다. 이 메소드는 IlluminateHttpUploadedFile 인스턴스를 반환합니다.

$logo = $request->file('logo');
// or
$logo = $request->logo;
로그인 후 복사

물론 파일을 가져오기 전에 파일이 존재하는지 확인할 수 있습니다. 여기에서 hasFile 메소드를 사용하세요.

if ($request->hasFile('logo')) {
    $logo = $request->file('logo');
}
로그인 후 복사

요청 요청 인스턴스는 업로드된 파일을 확인할 수도 있습니다.

if ($request->file('logo')->isValid()) {
    //
}
로그인 후 복사

uploadFile 인스턴스에는 업로드된 파일의 임시 저장 경로, 확장자 및 기타 정보를 얻기 위한 다양한 방법이 있습니다. 다음은 파일 형식 접미사

$logo = $request->file('logo');
$logo->path();  // png
로그인 후 복사

를 얻는 방법을 보여줍니다. 마지막으로 저장 방법을 사용하여 파일을 저장합니다. 이 방법에는 첫 번째 매개 변수가 파일을 저장할 경로를 채우고 두 번째 매개 변수가 있습니다. 매개변수는 파일이 저장된 호스트(또는 타사 플랫폼)를 채웁니다. Laravel은 자동으로 파일 이름으로 고유 ID를 생성합니다. 이 정보는 다음과 같이 구성 파일 config/filesystems.php에 있습니다.

'disks' => [
    'local' => [
        'driver' => 'local',
        'root' => storage_path('app'),
    ],
    'public' => [
        'driver' => 'local',
        'root' => storage_path('app/public'),
        'url' => env('APP_URL').'/storage',
        'visibility' => 'public',
    ],
    's3' => [
        'driver' => 's3',
        'key' => env('AWS_ACCESS_KEY_ID'),
        'secret' => env('AWS_SECRET_ACCESS_KEY'),
        'region' => env('AWS_DEFAULT_REGION'),
        'bucket' => env('AWS_BUCKET'),
        'url' => env('AWS_URL'),
        'endpoint' => env('AWS_ENDPOINT'),
    ],
],
로그인 후 복사

가격 요청 파일을 저장할 파일 이름을 직접 설정하려면 storeAs 메소드를 사용해야 합니다. 설정할 파일 이름.

$request->file('logo')->storeAs('img/logo', '1.png');
로그인 후 복사

마지막으로 전체 파일 업로드 코드 예시를 게시하세요.

html 코드는 다음과 같습니다.

<form method="post" action="/index?a=32" enctype="multipart/form-data">
    @csrf
    <input type="file" name="logo" >
    <input type="submit" value="sub" />
</form>
로그인 후 복사

파일 코드는 다음과 같이 저장합니다.

if ($request->hasFile(&#39;logo&#39;)) {
    $logo = $request->file(&#39;logo&#39;);
    if ($logo->isValid()) {
        $ext = $logo->extension();
        $fileName = date(&#39;YmdHis&#39;) . mt_rand(10000,99999);
        $path = $logo->storeAs(&#39;img/logo&#39;, $fileName . &#39;.&#39; . $ext);
        dump($path); //"img/logo/2020121413351718218.png"
    }
}
로그인 후 복사

위 내용은 laravel HTTP 요청: 쿠키 및 업로드된 파일 가져오기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿