テーブルにファイルパスがあります。ファイルパスからイメージを作成し、新しい名前のファイルです。ファイルパスからイメージを複製し、名前を変更してlaravelの別のテーブルに保存します
私はファイルパスしか持っていないので、イメージオブジェクトを作成してgetClientOriginalExtension()メソッドを呼び出すことはできません。それをデータベースに保存します。私は、次のことを試してみました:
$img = $var->image_path;
$file = file_get_contents($img);
$filename = time() . '.' . $file->getExtension();
Image::make($file)->resize(300, 300)->save(public_path('/test' . $filename));
しかしスクリプトエラー:Call to a member function getExtension() on string
何がファイルパスと正しい方法だろう、オブジェクトを作成し、ファイルの名前を変更し、右の拡張子が設定されていることを確認(多分外このqの範囲)、新しく作成したイメージを別のフォルダに保存し、新しく作成したイメージパスをデータベースに保存します。
私はそれが理にかなっていると思います。
更新:代わりにfile_put_contents()を使用する必要がありますか?