Laravelのブログフォームを編集したいと思います。 Title, Body
のような他のすべてのテキスト情報は正常に編集されます。しかし、Image
は更新できませんでした。新しい画像はアップロードされず、画像パスはC:\xampp\tmp\php2030.tmp
と設定されています。編集フォームの画像を更新するLaravel
My Controller for edit。
public function update(Request $request, $id)
{
$requestData = $request->all();
$post = Post::findOrFail($id);
$post->update($requestData);
if ($request->hasFile('image'))
{
$file = $request->file('image');
$fileNameExt = $request->file('image')->getClientOriginalName();
$fileNameForm = str_replace(' ', '_', $fileNameExt);
$fileName = pathinfo($fileNameForm, PATHINFO_FILENAME);
$fileExt = $request->file('image')->getClientOriginalExtension();
$fileNameToStore = $fileName.'_'.time().'.'.$fileExt;
$pathToStore = public_path('media');
Image::make($file)->resize(600, 531)->save($pathToStore . DIRECTORY_SEPARATOR. $fileNameToStore);
$image = '/images/'.$fileNameToStore;
$post->save();
}
session()->flash('message', 'Successfully updated the post');
return redirect('/');
}
何が問題なのですか?
を:\ xamppの\ TMP \ php2030.tmpや画像ディレクトリにもアップロードされません。 – universal
一時パスをDBに保存しています。私はコードサンプルを私の答えに付け加えて、どのように動作するかを大まかに考えました。基本的に '$ requestData'を新しいイメージパスで更新しています。お役に立てれば! – Tudor