cURL là một công cụ dùng để kiểm tra kết nối tới URL và curl command thường dùng để truyền tải dữ liệu. Nó cung cấp nhiều giao thức khác nhau như HTTP, HTTPS, FPT, FPTS, SFTP… Khi sử dụng giao thức HTTP sẽ giúp cURL gửi một request thông qua các phương thức như GET, POST, PUT, DELETE…
Trong bài viết này Quách Quỳnh sẽ hướng dẫn bạn xây dựng chức năng download hình bằng cURL trong PHP một cách dễ dàng.
Tại thư mục htdocs bạn sẽ tạo ra một tập tin là getimg.php và thư mục photo
Trong getimg.php
nội dung đoạn mã là:
<form method="post">
<input type="text" name="url"/>
<input type="submit" name="btn_submit">
</form>
<?php
if (isset($_POST['btn_submit'])) {
$url=$_POST['url'];
$ch = curl_init($url);
$dir = './photo/';
$file_name = basename($url);
$save_file_loc = $dir . $file_name;
$fp = fopen($save_file_loc, 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
$result = curl_exec($ch);
echo $result;
echo '<img src="./photo/'.$file_name.'">';
curl_close($ch);
fclose($fp);
}
?>
Sau khi paste một đường dẫn hình ảnh bất kỳ vào cURL sẽ thực hiện các bước:
- Khởi tạo cURL
- Thiết lập tùy chọn Request
- Thực thi
- Đóng Request và giải phóng tài nguyên
Gõ lên trình duyệt localhost/getimg.php (Nhớ phải bật phần mềm XAMPP lên nhé!)
Và tiếp theo mở thư mục photo xem ảnh đã lưu vào máy tính chưa.