在laravel中上传文件

时间:2016-08-31 00:37:40

标签: php laravel

我们这些人在阅读文档时在laravel中做了一个上传文件......但是我不太了解它(我是初学者) 这是我的image.blade.php

{{Form::open(['url'=>'administrator/store ', 'files' => true])}} 
{!!Form::file('image') !! } 
{!! Form::submit('next')!!} 
{{Form::close()}} 

管理员控制器

use Storage; 
use Illuminate\Http\Request; 
use App\Http\Controllers\Controller; 

public function store(Request $request) {
Storage::put($request->image, 'test') ;
} 

我不明白我会把这些功能付诸实践.....请帮帮我... 问候!

1 个答案:

答案 0 :(得分:1)

\Illuminate\Http\Request::file()是您上传文件时的所有内容。

这只是\Symfony\Component\HttpFoundation\File\UploadedFile类的一个实例,因此您可以move向目标/存储文件发送您想要的内容,例如:

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;

class MainController extends Controller
{
    public function upload(Request $request)
    {
        /**
         * @var Symfony\Component\HttpFoundation\File\UploadedFile
         */
        $uploadedFile = $request->file('image'); 

        if ($uploadedFile->isValid()) {
            $uploadedFile->move(destinationPath, $fileName);
        }
    }

}

麻生太郎,你以错误的方式使用过\Illuminate\Filesystem\Filesystem::put()。下面就是实现了这个方法:

/**
     * Write the contents of a file.
     *
     * @param  string  $path
     * @param  string  $contents
     * @param  bool  $lock
     * @return int
     */
    public function put($path, $contents, $lock = false)
    {
        return file_put_contents($path, $contents, $lock ? LOCK_EX : 0);
    }