2015-09-28 12 views
8

Jak uzyskać nazwę pliku podczas robienia zdjęcia ze zdalnego serwera? A jak zapisać z oryginalnym rozmiarem i nazwą pliku?Obraz interwencji: zapisać obraz bezpośrednio z adresu URL z oryginalną nazwą pliku i zewn.

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

używam interwencyjną, (http://image.intervention.io/api/make) zbudować CakePHP 3 Zachowanie obrazu, chcę, aby zapewnić łatwe przesyłanie ze zdalnych serwerów i zachować oryginalny obraz jako źródło przyszłych manipulacji.

EDIT

pytam jest tam Interwencja Obraz metoda, która zwraca nazwę pliku, gdy pobierane z serwera zdalnego. Znam php copy(), mogę również użyć narzędzi do plików CakePHP, ale daje mi to zduplikowane żądanie na zdalnym pliku.

+0

możliwy duplikat [Kopiowanie obrazu od zdalnego serwera za pośrednictwem protokołu HTTP] (http://stackoverflow.com/questions/909374/copy-image-from-remote-server-over-http) – user3158900

+0

nr nie jest duplikatem. – Salines

Odpowiedz

15

response() nie zwraca oryginalnej nazwy pliku, takiej jak Salines. To powinno działać

$path = 'https://i.stack.imgur.com/koFpQ.png'; 
$filename = basename($path); 

Image::make($path)->save(public_path('images/' . $filename)); 
3

Możesz to łatwo zrobić za pomocą make(); i odpowiedź(); metody. Sprawdź mój kod poniżej.

Należy pamiętać, że opcja allow_url_fopen musi być włączona, aby pobrać zdalny obraz.

Zostanie wyświetlone moje zdjęcie profilowe. Jeśli nie używasz go z frameworkiem Laravel, po prostu zamień return z echo.

$img = Image::make('https://i.stack.imgur.com/koFpQ.png'); 
header('Content-Type: image/png'); 
return $img->response(); 

nadzieję, że pomoże i upvote moją odpowiedź, jeśli użyteczny;)

Jeśli potrzebujesz dalszej pomocy po prostu zapytać.

+0

Podoba mi się, nie ma potrzeby tymczasowego przechowywania na serwerze. Ale mam pytanie. Czy istnieje sposób, aby działał on ogólnie na pliki? Na przykład, mój użytkownik może przesłać albo zdjęcie, albo dokument pdf ... jak sobie z tym poradzę? –

Powiązane problemy