Download hình ảnh bằng cURL trong PHP

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.

curl-image-php

Related Posts

Cấu trúc dữ liệu và giải thuật: Một cái nhìn tổng quan

Giới thiệu Trong lĩnh vực phát triển phần mềm, cấu trúc dữ liệu và giải thuật là hai khái niệm quan trọng không thể thiếu. Cấu trúc…

Next.js – Khám phá Framework JavaScript tuyệt vời cho phát triển ứng dụng web

Giới thiệu về Next.js Next.js là một framework JavaScript mã nguồn mở và phổ biến được sử dụng để xây dựng các ứng dụng web hiệu suất…

Lisp – Cái nhìn tổng quan về ngôn ngữ lập trình đặc biệt

Lisp là gì? Lisp là một ngôn ngữ lập trình đặc biệt mang đến một cách tiếp cận độc đáo trong việc xử lý thông tin và…

Cách sử dụng đường dẫn tương đối trong HTML

Cách sử dụng đường dẫn tương đối trong HTML

Trang web hiện đại thường bao gồm nhiều tài nguyên như hình ảnh, trang HTML khác, tệp tin CSS và JavaScript. Để liên kết và truy cập…

Bài tập về hàm split trong Python

Chuỗi là một loại dữ liệu phổ biến trong lập trình, và việc xử lý chuỗi là một kỹ năng cần thiết cho các lập trình viên….

Xử lý chuỗi trong Python: Các phương thức cơ bản

Python là một trong những ngôn ngữ lập trình phổ biến nhất hiện nay. Nó được sử dụng rộng rãi trong nhiều lĩnh vực, từ phát triển…