Laravelがuplaodとファイルをどのように扱うかを理解しようとしている間に、いくつかのポイントを学びました。彼らがあなたに役立つことを願っています
初め:
「メッセージ: 非オブジェクトでのメンバー関数 move() の呼び出し」
フォルダーに書き込み権限がない可能性があるため、この例外がスローされる可能性があります。
2番:
次のような検証ルールで入力を検証できます
'attachment' => 'image|mime:jpg,gif,png|max:(キロバイト)
三番:
プロジェクトで拡張されたブートストラップを使用しています。彼らは「名前」属性を使用しないことを好みます。と
<input type="file" />
このリンクからチェックアウトできます。 オプション セクションまで下にスクロールし、名前の説明欄をお読みください。したがって、基本的に理解したのですが、実際には投稿の一部であるため、入力が空であってもLaravelはtrueを返します
4 番目: コードを共有し、推奨事項を受け入れたいと思います。それらがすべて役立つことを願っています...
try
{
$comp = new Company();
$comp->name = newCompanyForm::get('name');
$comp->save();
if($comp)
{
if(newCompanyForm::has('logo'))
{
$logo = Input::upload('logo', path('public').'company_logos');
if($logo)
{
$comp->logo = URL::base().'lms/company_logos/'.$logo->getfileName();
$comp->save();
}
else
throw new \Exception("Logo yüklenirken hata oluştu. Şirket logosuz kayıt edildi.");
}
Session::flash('status_success', 'Şirket eklendi.');
newCompanyForm::forget_input();
return Redirect::back();
}
else
throw new Exception("Şirket eklenirken hata oluştu. Şirket eklenmedi.");
}
catch(\Exception $e)
{
$errors->add('lms', $e->getMessage());
return Redirect::back()->with_errors($errors);
}