Search code examples
phplaravelinterventioncakephp-3.1

Intervention Image: Save image directly from an url with original file name and ext?


How to get the filename, when taking image from a remote server? And how to save with original size and filename?

// Take remote image
$img = Image::make('http://image.info/demo.jpg');
// how to save in the img/original/demo.jpg
$img->save(????);

I use Intervention, (http://image.intervention.io/api/make) to build CakePHP 3 image Behavior, I want to provide an easy uploading from remote servers, and keep the original image as a source for future manipulation.

EDIT

I ask, is there the Intervention Image method that returns the name of the file, when taken from the remote server. I know php copy(), basename(), I can also use the CakePHP File utilities, but it gives me the duplicate request on remote file.


Solution

  • response() does not return the original filename like Salines was requesting. This should work

    $path = 'https://i.sstatic.net/koFpQ.png';
    $filename = basename($path);
    
    Image::make($path)->save(public_path('images/' . $filename));