2017-05-18 14 views
2

Interventionを使用してURLから画像を保存しようとしています。ここでLaravel 5 Store画像URLから

は私が(試行1)これまでに試したものです:

$path = 'http://f2b9x.s87.it/images/1/FR_laura-kithorizontal.gif'; 
$filename = basename($path); 
$image = Image::make($path); 
$store = $image->storeAs('image/'.$filename,'public'); 

しかし、私はこのエラーを取得する: Command (storeAs) is not available for driver (Gd).

それから私は、この(試行2)試してみました:

Image::make('http://f2b9x.s87.it/images/1/FR_laura-kithorizontal.gif')->save(public_path('/images/saveAsImageName.jpg')); 

しかし、私はこのエラーがあります:Can't write image data to path (C:\xampp\htdocs\app\public\/images/saveAsImageName.jpg)

In試行2、私もこれをやってみた:public_path('\images\saveAsImageName.jpg')それは問題を引き起こすバックスラッシュではなかったが、それは私に同じエラーを与えた。

助けが必要ですか?

+1

保存しようとしている場所が実際に存在しますか?もしそうなら、それは書き込み可能ですか?また、具体的には、あなたのPHPで使用されているユーザによって書き込み可能ですか?一般的な「画像データを書き込めません...」を解決するためにチェックするべきことはほとんどありません。 –

答えて

0

問題は、私はディレクトリが作成された(感謝@Timルイス)を持っていなかったということでした

私はこのようにそれを解決する:最初のパラメータがある

use File;

File::makeDirectory(public_path('images/kits/'.$microtime), 0775, true);

パス
2番目のパラメータは、そのフォルダに与えられた特権です
3番目のパラメートルは通常はデフォルトでは偽ですが、真の場合は、ディレクトリを再帰的に作成します。イメージが作成されているかどうか最初にチェックし、その後、キットを作成し、そのマイクロタイムのフォルダが作成されている場合は(この場合は)それを意味します。
存在しない場合はすべて作成されます。

0

は私がpublic_path()関数では、あなたの最初のスラッシュ( "/")を出て左この

Image::make('http://f2b9x.s87.it/images/1/FR_laura-kithorizontal.gif')->save(public_path('images/saveAsImageName.jpg')); 

お知らせをお試しください。

関連する問題