zipファイルを展開した後、storeAsを使って、保存処理をすると、
"Call to undefined method Symfony\Component\Finder\SplFileInfo::storeAs()"
というエラーメッセージ が出ます。
bladeの画面からアップロードされたhoge.zip とういうファイルを展開します。
$zip_file = $request->file('upload_file'); $zip = new \ZipArchive(); if ($zip->open($zip_file) === true) { $zip->extractTo('zip'); }
上記の処理を実行すると public/zip/hoge とうい階層に、hoge.zipの中身のファイルが展開されます。
その後、展開したファイルを、 strage/app/Staff のフォルダに保存するため、storeAsをつかって以下のコードを書きました。
なお、拡張されたファイルは、Staff_0000.pdf といった風に"Staff_"という接頭詞がついているのですが、この部分は、削除した上で、保存処理をします。
$files = \File::allFiles(public_path("zip/hoge")); foreach ($files as $file) { $old_file_name = basename($file); $new_file_name = str_replace("Staff_", "", $file); $file->storeAs(Staff, $new_file_name); }
しかし、上記の処理を実行すると、
"Call to undefined method Symfony\Component\Finder\SplFileInfo::storeAs()"
というエラーメッセージ がでて、storeAsでの保存処理ができません。
storeAs()のメソッドが定義されていないという意味だと思うのですが、同じコントローラーの別の箇所では、storeAsでの保存処理ができています。しかし、上記の処理だとなぜかこのエラーがでます。
アドバイスいただけたらと思います。
回答1件
あなたの回答
tips
プレビュー