を保存しませんがここでLaravel 5.Laravel 5:移動()関数は、私がしようとしている何アップロードされた画像ファイル
の画像アップローダーがフォームで設定することです。
<form action="/edit/{{$id}}" method="POST" enctype="multipart/form-data">
{!! csrf_field() !!}
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
<input type="hidden" name="_method" value="PUT">
//There are other tags (including other input) here
<input type="file" name="pic" accept="image/*">
<input type="submit" value="Apply Changes">
</form>
上記のform
から実行されるコントローラ機能は次のとおりです。
public function update($id)
{
$this->model->find($id)->fill($this->request->all())->save();
if ($this->request->hasFile('pic')) {
$file = $this->request->file('pic');
$name = $file->getClientOriginalName();
$file->move('assets/serviceimages/', $name);
}
return redirect('/blahblah');
}
あなたは気づいているかもしれませんが、これは私がしようとしてきたものですassets/serviceimages/
ディレクトリ、下にアップロードされたファイルを格納しません。
基本的に私はthis tutorialを追ってきたが、私はAPI documentationを見ていた後でも、どうやら私は何かが欠けていることだし、それが何であるかについては全く無知。
if
コントローラ機能の説明の中で、$file
と$name
は私が期待していたことが確認されました。
したがって、問題はmove()
機能にあると考えられます。
私がアップローダを設定しようとしたのはこれが初めてのことですから、助言をいただければ幸いです。
はパスが実際に存在するか、それが必要な権限を持っているのでしょうか?現在保存しようとしているパスは '/ public/assets/serviceimages /'です。それ以外のログはチェックしていますか? – Ian