2017-04-25 53 views
2

- 私FilesystemAdapter.phpライン146に ErrorException有する:のfopen():ファイル名を空にすることはできません(laravel 5.4)

laravel FilupLoad->store()方法

フォームマルチパート/フォームデータであるを使用

fopen(): Filename cannot be empty 

店舗コード:

if ($request->hasFile('photo') && $request->photo->isValid()) { 

      // dd($request->file('photo')); 
      $path = $request->photo->store('profiles'); 

      $imagen = new Imagen(['url' => $path]); 

      $imagen->save(); 

      $perfil->imagen()->attach($imagen); 
     } 

私が使用している場合dd($request->file('photo')); yファイル名を参照してください

これに関する助けがありますか? FilesystemAdapter.phpを見て、それがgetRealPath()の問題であると思われる場合、常にfalseを返します。何か案は?私はPHPに新しいです

+0

146行目は11行目のうちどれですか? – RiggsFolly

+0

laravelのFilesystemAdapterの一部です。私はそれを変えなければならないとは思わない。私はPHPの初心者です – zeuz1983

+0

@RiggsFolly FilesystemAdapter.phpを見て、それはgetRealPath()に問題があるようですが、常にfalseを返します。それはすべて私が見つけることができます。 – zeuz1983

答えて

0

私は別のPHPインストールで同じコードを試して、動作します。私のphp.iniの中に何かあるかもしれません

1

私はこれも問題を抱えていました。私が見つけたものを追加したいと思いました。

1)PHPv5.6を使用して少なくともIISのために、オフのコメントままにすることができなければならないあなたのphp.iniファイル、特に; sys_temp_dir = "/tmp"をチェックし、

2)も設定する必要がありますupload_tmp_dir=C:\WINDOWS\tempを確認します。

3)また、あなたがphp_fileinfoための拡張子は、Windowsで使用すると、テストするとき、あなたはこのような出力をデバッグすることができますextension=php_fileinfo.dll

、次は戻ってtrue

dd($request->hasFile('my_file'));

来るべき両方である、有効にする必要があります。

dd($request->file('my_file')->isValid());

4)まだ問題がある場合は、これらのディレクトリの許可を確認してください。

1

これは、インターネットの既知の問題です。Windows®のインフォメーションサービス(IIS)。必要な唯一のものはある -

Cの許可:\ Windowsの\ tempに

それはPHP7のためのphp.iniで

upload_tmp_dir

として設定されているので、 。

関連する問題