2009-09-03 8 views

Odpowiedz

31

Można użyć file_get_contents() załadować zdalnego obrazu na ciąg binarny wewnątrz skryptu PHP (dostęp plików w PHP często akceptuje adresy URL, aby uzyskać dostęp zasoby zdalne - jest to bardzo przydatne), a następnie zapisz plik gdzieś, gdzie masz dostęp do zapisu. Oto bardzo prosty przykład:

$image = file_get_contents("http://img.youtube.com/vi/Rz8KW4Tveps/1.jpg"); 
file_put_contents("imgfolder/imgID.jpg", $image); 

Tada!

+0

Tada :), wielkie dzięki! – Johan

+0

tada tada! dzięki .. –

+0

To działa dobrze dla mnie, mam zapytanie. Co zrobić, jeśli ktoś chce pobrać zdjęcia nie kończące się żadnym rozszerzeniem, takie jak publiczne zdjęcia na Facebooku. Pozdrawiam –

21

Jeśli owijarki strumień URL są dozwolone, można to zrobić w 1 linii zamiast ładować go do var:

copy('http://img.youtube.com/vi/Rz8KW4Tveps/1.jpg', 'imgfolder/imgID.jpg'); 

Jest to znacznie mniej prawdopodobne, aby spowodować problemy z PHP na wyczerpaniu pamięć.