我们这些人在阅读文档时在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') ;
}
我不明白我会把这些功能付诸实践.....请帮帮我... 问候!
答案 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);
}