Hàm remote download file bằng PHP cUrl

5 (100%) 1 vote

Dưới đây là mã để tải xuống một tệp tin từ xa bằng PHP và lưu vào máy chủ và cuối cùng xuất ra trình duyệt bằng cách sử dụng cURL và readfile

set_time_limit(0);
$url = 'http://example.com/example.zip';
$file = basename($url);
$fp = fopen($file, 'w');
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FILE, $fp);
$data = curl_exec($ch);
curl_close($ch);
fclose($fp);
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;

Hạn chế:

  1. Kể từ khi tệp được tải xuống máy chủ trước khi xuất ra trình duyệt, nó sẽ tiêu tốn khoảng thời gian, băng thông và không gian máy chủ.
  2. Khi tải các tập tin lớn, kịch bản có thể làm giảm giới hạn bộ nhớ và dễ bị mất thời gian.
Facebook Comments

Leave a Reply

Your email address will not be published. Required fields are marked *