2015-09-28 9 views
8

Come ottenere il nome file, quando si acquisisce l'immagine da un server remoto? E come salvare con dimensioni e nome file originali?Immagine di intervento: salva l'immagine direttamente da un url con nome file originale e ext?

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

Io uso Intervention, (http://image.intervention.io/api/make) per costruire CakePHP 3 immagine Comportamento, voglio fornire un caricamento facile da server remoti, e mantenere l'immagine originale come fonte per la manipolazione futuro.

EDIT

chiedo, c'è l'immagine metodo di intervento che restituisce il nome del file, se assunto dal server remoto. Conosco php copy(), posso anche usare le utility di CakePHP File, ma mi dà la richiesta duplicata sul file remoto.

+0

possibile duplicato di [Copia immagine dal server remoto via HTTP] (http://stackoverflow.com/questions/909374/copy-image-from-remote-server-over-http) – user3158900

+0

No non è duplicato. – Salines

risposta

15

response() non restituisce il nome file originale come richiesto da Salines. Questo dovrebbe funzionare

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

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

Si può facilmente farlo usando il make(); e response(); metodi. Controlla il mio codice qui sotto.

Ricorda che allow_url_fopen deve essere abilitato per recuperare un'immagine remota.

Questo visualizzerà la mia immagine del profilo. Se non lo si utilizza con framework Laravel, è sufficiente sostituire return con echo.

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

Speranza che aiuta e upvote la mia risposta, se utile;)

Se avete bisogno di ulteriore aiuto basta chiedere.

+0

Mi piace, non è necessario memorizzare temporaneamente sul server. Ma ho una domanda. C'è un modo per farlo funzionare per i file in generale? Ad esempio, il mio utente può caricare una foto o un documento pdf ... come gestirlo? –