2009-09-03 34 views
10

Tôi muốn lưu tệp img từ xa vào máy chủ của mình, nhưng tôi không biết cách thực hiện.Lưu tệp img từ xa vào máy chủ, với php

Url hình ảnh là http://img.youtube.com/vi/Rz8KW4Tveps/1.jpg1.jpg là được cứu rỗi và đổi tên thành imgfolder/imgID.jpg

Trả lời

31

Bạn có thể sử dụng file_get_contents() để tải hình ảnh từ xa đến một chuỗi nhị phân bên trong kịch bản PHP của bạn (truy cập tập tin trong PHP thường chấp nhận URL để truy cập tài nguyên từ xa - điều này rất tiện dụng), sau đó lưu trữ tệp đó ở nơi bạn có quyền ghi. Dưới đây là một ví dụ rất đơn giản:

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

Tada!

+0

Tada :), cảm ơn rất nhiều! – Johan

+0

tada tada! cảm ơn .. –

+0

Nó hoạt động tốt cho tôi, tôi có một truy vấn. Điều gì sẽ xảy ra nếu ai đó muốn chụp ảnh không kết thúc bằng bất kỳ phần mở rộng nào như bức ảnh công cộng trong facebook. Kính trọng –

21

Nếu wrappers dòng URL được cho phép, bạn có thể làm điều đó trong 1 dòng thay vì phải tải nó thành một var:

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

Đây là ít có khả năng gây ra một vấn đề với PHP chạy ra khỏi ký ức.

Các vấn đề liên quan