Share Sử dụng cURL để tải tập tin từ website khác

filiallion

Administrator
Staff member
Administrator
Messages
293
Points
10
Language
Tiếng Việt
Nếu các bạn là tín đồ của Linux hay PHP thì các bạn đã từng ít nhất một lần nghe nói đến cURL rồi. Như các bạn đã biết, cURL là một thư viện do Daniel Stenberg tạo ra bằng ngôn ngữ C vào năm 1997. Tên cURL là từ viết tắt của cụm từ "client URL". cURL là bộ thư viện dùng để thực hiện việc chuyển dữ liệu thông qua nhiều giao thức khác nhau như HTTP, HTTPS, FTP, POP3,... Với giao thức HTTP, cURL hỗ trợ việc gửi dữ liệu sử dụng tất cả các phương thức hiện có như GET, POST, PUT, DELETE,... Ngoài ra, các bạn cũng có thể thực hiện việc xác thực các yêu cầu gửi đi thông qua cURL. Việc xác thực có thể được thực hiện thông qua việc thiết lập header cho các yêu cầu đó hoặc sử dụng cookies.

Bài viết này tôi không đi sâu vào toàn bộ thư viện cURL mà tôi sẽ hướng dẫn các bạn sử dụng cURL để tải một tập tin từ một website khác. Yêu cầu này chắc chắn các bạn sẽ có nhiều cách thức khác ví dụ như dùng hàm file_get_contents của PHP chẳng hạn, nhưng nếu dùng cURL thì các bạn sẽ thấy được tốc độ sẽ nhanh hơn nhiều cũng như tính ổn định sẽ cao hơn so với file_get_contents.

Các bạn có thể tham khảo khối mã lệnh PHP sau:
PHP:
<?php
//Khai báo địa chỉ tập tin muốn tải về và nơi lưu tập tin
$url = 'http://www.domain.com/path/to/filename.zip';
$destination_path = 'path/to/filename.zip';

//Khai báo các cấu hình cURL
$curl_options = array(
    CURLOPT_URL      => $url,
    CURLOPT_FILE     => fopen($destination_path, 'w'),
    CURLOPT_TIMEOUT  => 28800
);

//Cài đặt cURL
$curl = curl_init();

//Gán cấu hình, thực thi và đóng cURL
curl_setopt_array($curl, $curl_options);
curl_exec($curl);
curl_close($curl);
Trên đây là khối mã lệnh dùng để tải một tập tin từ website khác về bằng cách sử dụng thư viện cURL. Thư viện cURL còn có thể làm được nhiều hơn thế, các bạn có thể tìm hiểu thêm về thư viện cURL trong PHP tại địa chỉ https://php.net/manual/en/book.curl.php.
 
Top