Hướng dẫn php save remote image locally - php lưu hình ảnh từ xa cục bộ

Đây là cách cơ bản nhất:

$url = "//other-site/image.png";
$dir = "/my/local/dir/";

$rfile = fopen[$url, "r"];
$lfile = fopen[$dir . basename[$url], "w"];

while[!feof[$url]] fwrite[$lfile, fread[$rfile, 1], 1];

fclose[$rfile];
fclose[$lfile];

Nhưng nếu bạn đang thực hiện rất nhiều điều này [hoặc truy cập tệp khối máy chủ của bạn vào các hệ thống từ xa], hãy xem xét sử dụng Curl, hiệu quả hơn, nhanh hơn và có sẵn trên các máy chủ được chia sẻ nhiều hơn.

Bạn cũng có thể giả mạo tác nhân người dùng trông giống như một máy tính để bàn thay vì bot!

$url = "//other-site/image.png";
$dir = "/my/local/dir/";
$lfile = fopen[$dir . basename[$url], "w"];

$ch = curl_init[];
curl_setopt[$ch, CURLOPT_URL, $url];
curl_setopt[$ch, CURLOPT_HEADER, 0];
curl_setopt[$ch, CURLOPT_RETURNTRANSFER, 1];
curl_setopt[$ch, CURLOPT_USERAGENT, 'Mozilla/4.0 [compatible; MSIE 7.0; Windows NT 5.1]'];
curl_setopt[$ch, CURLOPT_FILE, $lfile];

fclose[$lfile];
curl_close[$ch];

Với cả hai trường hợp, bạn có thể muốn chuyển nó qua GD để đảm bảo nó thực sự là một hình ảnh.

Tệp này chứa văn bản unicode hai chiều có thể được giải thích hoặc biên dịch khác với những gì xuất hiện dưới đây. Để xem xét, hãy mở tệp trong một trình soạn thảo cho thấy các ký tự Unicode ẩn. Tìm hiểu thêm về các ký tự unicode hai chiều

Bài Viết Liên Quan

Chủ Đề