1. 程式人生 > >laravel基礎之檔案上傳

laravel基礎之檔案上傳

使用laravel進行檔案上傳十分簡單。以下貼出部分程式碼


檔案上傳方法程式碼

//檔案上傳方法
    public function upload(Request $request) {

        if($request->isMethod('POST')){
//            var_dump($_FILES);
            $file = $request->file('source');

            //判斷檔案是否上傳成功
            if($file->isValid()){
                //獲取原檔名
                $originalName = $file->getClientOriginalName();
                //副檔名
                $ext = $file->getClientOriginalExtension();
                //檔案型別
                $type = $file->getClientMimeType();
                //臨時絕對路徑
                $realPath = $file->getRealPath();

                $filename = date('Y-m-d-H-i-S').'-'.uniqid().'-'.$ext;

                $bool = Storage::disk('uploads')->put($filename, file_get_contents($realPath));

                var_dump($bool);
            }

            //dd($file);
            /**
            UploadedFile {#164 ▼
            -test: false
            -originalName: "填充檔案.png"
            -mimeType: "image/png"
            -size: 10340
            -error: 0
            path: "D:\xampp\tmp"
            filename: "phpF0E0.tmp"
            basename: "phpF0E0.tmp"
            pathname: "D:\xampp\tmp\phpF0E0.tmp"
            extension: "tmp"
            realPath: "D:\xampp\tmp\phpF0E0.tmp"
            aTime: 2016-11-22 04:39:27
            mTime: 2016-11-22 04:39:27
            cTime: 2016-11-22 04:39:27
            inode: 0
            size: 10340
            perms: 0100666
            owner: 0
            group: 0
            type: "file"
            writable: true
            readable: true
            executable: false
            file: true
            dir: false
            link: false
            linkTarget: "D:\xampp\tmp\phpF0E0.tmp"
            }
             */
            exit;
        }

        return view('student.upload');
    }
//檔案上傳路由設定
Route::any('upload', '[email protected]');

//        檔案上傳配置
        'uploads' => [
            'driver' => 'local',
            'root' => storage_path('app/uploads'),
        ],

檔案上傳view頁面
@extends('layouts.app')

@section('content')
    <div class="container">
        <div class="row">
            <div class="col-md-8 col-md-offset-2">
                <div class="panel panel-default">
                    <div class="panel-heading">檔案上傳</div>
                    <div class="panel-body">
                        <form class="form-horizontal" role="form" method="POST" action="" enctype="multipart/form-data">
                            {{ csrf_field() }}


                            <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
                                <label for="file" class="col-md-4 control-label">請選擇檔案</label>

                                <div class="col-md-6">
                                    <input id="file" type="file" class="form-control" name="source">

                                    @if ($errors->has('password'))
                                        <span class="help-block">
                                        <strong>{{ $errors->first('password') }}</strong>
                                    </span>
                                    @endif
                                </div>
                            </div>

                            <div class="form-group">
                                <div class="col-md-6 col-md-offset-4">
                                    <button type="submit" class="btn btn-primary">
                                        <i class="fa fa-btn fa-sign-in"></i> 確認上傳
                                    </button>


                                </div>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
@endsection



相關推薦

laravel基礎檔案

使用laravel進行檔案上傳十分簡單。以下貼出部分程式碼 檔案上傳方法程式碼 //檔案上傳方法 public function upload(Request $request) { if($request->isMethod('POST

laravel框架檔案

引用use檔案 控制器引用模型檔案方便呼叫 use App\Info\Info; 模型引用DB檔案 use Illuminate\Support\Facades\DB;   model模型中的程式碼 public function index(){ //

Java Web基礎檔案

     有時候我們要將客戶端的一些資料存到伺服器端,而不是直接儲存到資料庫中,而是要將資料儲存到伺服器所在的磁碟上,這就要使用檔案上傳。他能幫我們減少了資料庫伺服器的壓力,對資料的操作更加靈活。 所謂的檔案上傳就是伺服器端通過request物件獲取輸入流,將瀏覽器端上傳的

Java Web基礎知識檔案檔案一窺究竟

其實檔案上傳的文章已經寫得很多了,但是好多文章都是都是說明了怎麼實現,沒有說這個過程到底發生了什麼(會不會引來仇恨。。),其實實現檔案上傳並不複雜,也沒有多少程式碼,但是要是清楚的明白其中的原理還是費點功夫的,這裡就還原檔案上傳的整個過程。 其實關於檔案上傳在最早之前是使用

falsk檔案

  在使用flask定義路由完成檔案上傳時,定義upload檢視函式 from flask import Flask, render_template from werkzeug.utils import secure_filename import os app = Flask

Spring Boot 整合檔案與下載

1.匯入依賴 <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId>

Struts2檔案與下載

1、檔案上傳三種方式: 將檔案以二進位制的形式儲存到資料庫中 activiti工作流框架  將檔案儲存到專門檔案伺服器(存放檔案用的Linux系統)中  直接將檔案儲存到伺服器(tomcat所在伺服器)中 2、檔案上傳的一個例項: action裡

【Android架構】基於MVP模式的Retrofit2+RXjava封裝檔案(三)

最近手頭事比較多,抽個空把之前系列也補充一下。 先回顧下之前的 【Android架構】基於MVP模式的Retrofit2+RXjava封裝(一) 【Android架構】基於MVP模式的Retrofit2+RXjava封裝之檔案下載(二) 今天要說的是檔案上傳 1.單圖上

laravel 七牛檔案

安裝Laravel七牛擴充套件包 過Composer安裝 composer require zgldh/qiniu-laravel-storage 接下來在 config/filesystems.php 裡的disks中新增七牛配置: 'qiniu' =>

web安全檔案漏洞攻擊與防範方法

一、 檔案上傳漏洞與WebShell的關係 檔案上傳漏洞是指網路攻擊者上傳了一個可執行的檔案到伺服器並執行。這裡上傳的檔案可以是木馬,病毒,惡意指令碼或者WebShell等。這種攻擊方式是最為直接和有效的,部分檔案上傳漏洞的利用技術門檻非常的低,對於攻擊者來說很容易實施。 檔案上傳漏洞本身就是一

react-native檔案下載

目錄 檔案上傳 1.檔案選擇 2.檔案上傳 1.FormData物件包裝 2.上傳示例 檔案下載 最近react-native專案上需要做檔案上傳下載的功能,由於才接觸react-native不久,好多東西不熟悉,前

SpringBoot | 第十七章:web 應用開發檔案

前言 上一章節,我們講解了利用模版引擎實現前端頁面渲染,從而實現動態網頁的功能,同時也提出了相容jsp專案的解決方案。既然開始講解web開發了,我們就接著繼續往web這個方向繼續吧。通常,我們在做web開發時,碰見諸如附件上傳、圖片頭像上傳等檔案的上傳需求也是再正常不過的。

python3 + selenium 檔案下載

檔案上傳 檔案上傳下載的聯絡html: uplad.html <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /&

SpringMVC筆記八檔案下載

一、檔案上傳 1、普通檔案上傳 新建頁面WebContent/file.jsp <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>

spring boot檔案

檔案上傳的路徑可以在application的配置檔案中配置和獲取,當檔案上傳到本地時,此時檔案是不允許直接訪問的。需要在spring boot中新增配置類(配置檔案的路徑是file.root.path=D:/file/)。 @SuppressWarnings("deprec

SpringMVC檔案(進度條顯示)

親測可用 1、mvc-config.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"   

Python介面自動化測試檔案

 在介面測試中,經常會涉及到檔案上傳,檔案上傳一般包含的檔案是圖片,視訊以及如csv,excel,記事本等檔案,它的請求頭中Content-Type對應的value值是multipart/form-data,這裡依據實際的案例來說明檔案上傳的具體案例。這裡以網際網路產品人人網

HTML5應用檔案

HTML5解決了以往網頁編寫的一個難題:帶有上傳進度的檔案上傳。 長期以來,開發者們一直為此苦惱,大部分為解決這個問題都採用了flash作為解決方案,但flash並非靈丹妙藥,因為flash版本,割據造成的問題有時反倒成為了噩夢。有些網站則採用了form

Spring Test檔案

Spring Test之檔案上傳篇 1、上傳需要的簡單配置 1.1 匯入依賴包,包含檔案上傳、springtest4+和Junit4+包 <dependency> <groupId>org.springframework</groupId&

Flask Web開發入門(八)檔案

本章我們介紹Flask Web開發中涉及的檔案上傳模組 定義後臺接收處理邏輯 # http://flask.pocoo.org/docs/0.12/patterns/fileuploads/ @app.route('/upload', methods=[