Tập tin uốn cong php

Mình đang xây dựng nhóm "anh Thầy & Đồng bọn [Hỏi đáp, chia sẻ kiến ​​thức]" mục đích để các bạn có một nơi giao lưu trao đổi.
Đội MOD của nhóm và mọi người sẽ hỗ trợ bạn ngay lập tức.
Tham gia tại đây nè. https. //www. Facebook. com/groups/anhthayvadongbon

Trong hướng dẫn này, chúng tôi sẽ đề cập đến cách Sử dụng cURL PHP với Dữ liệu POST. Hướng dẫn này Mục đích cung cấp cho sinh viên CNTT hoặc những lập trình viên mới sử dụng Ngôn ngữ PHP một tài liệu tham khảo hoặc hướng dẫn sử dụng MODULE cURL PHP với dữ liệu POST. Tôi sẽ cung cấp một chương trình đơn giản để bạn dễ hiểu nhất theo hướng dẫn này

PHP cURL là gì?

cURL là viết tắt của “URL khách hàng”. Nó là một trong những module của PHP. Mô-đun này cho phép bạn gửi và nhận tệp qua HTTP. Nó cũng cho phép bạn chuyển dữ liệu dưới dạng POST và GET Data. Điều này sẽ làm cho các trang web và tên miền khác nhau kết nối đơn giản

Sử dụng cURL PHP với dữ liệu HTTP POST
Đoạn mã sau là một ví dụ về cách sử dụng cURL PHP với dữ liệu POST cho trang web của bạn.

Tạo tệp Index. php
Đầu tiên, chúng tôi sẽ tạo biểu mẫu mà bạn hoặc người dùng có thể viết mã dữ liệu để gửi. Lệnh dưới đây là một tập lệnh HTML và PHP có dạng đơn giản cho hướng dẫn này. Trong trường hợp của tôi, tôi lưu tệp này dưới dạng chỉ mục. php. Tệp chứa lệnh gửi dữ liệu POST và Nhận đầu ra từ một URL khác bằng PHP cURL.

Tạo một trang web mẫu khác.
Giả sử rằng tập lệnh dưới đây nằm trên một trang web khác. Lệnh này sẽ kiểm tra xem có dữ liệu POST được gửi cho yêu cầu hiện tại hay không. Ở đây, chỉ với mục đích diễn ra, chúng tôi sẽ chỉ xuất lại dữ liệu POST đã nhận cho người gửi. Có rất nhiều thứ bạn có thể làm ở mặt này nhưng đây không phải là mục đích của hướng dẫn.

post_api. php

Ảnh chụp trả về kết quả của các đoạn mã ở trên

Khi bạn có thể thấy, tập lệnh sau được viết tại tệp chỉ mục. php. Đây là tập lệnh cURL cho phép trang web hiện tại gửi hoặc gửi dữ liệu HTTP POST đến một URL khác. Đầu tiên, bạn khởi động mô-đun cURL sau đó đặt một số tùy chọn cần thiết như URL và POST. Tùy chọn CURLOPT_URL trong tập lệnh để biết nơi gửi dữ liệu POST. Tùy chọn CURLOPT_POSTFIELDS để biết dữ liệu chúng tôi muốn gửi. CURLOPT_RETURNTRANSFER for know has nắm bắt nội dung trang trả về yêu cầu xác nhận hay không

Qua 4 bài vừa rồi bạn thấy CURL khá hay phải không nào?

To upload file in php chúng ta thực hiện ba thao tác

  • Create file upload.php to upload file
  • Create file curl.php using CURL to call to file upload. php
  • Tạo tệp form.php trong đó có một biểu mẫu tải lên  và  có thuộc tính  
    0 và hành động của nó trỏ đến tệp curl.php

To Unknown than you xem sơ đồ dưới đây

Nhìn vào sơ đồ bạn thấy hơi khác so với thông thường không phải thông thường nào, thông thường thì chúng ta chỉ cần 2 file thôi đó là file form.phpupload.php. Nhưng ở đây chúng ta đang sử dụng PHP CURL để upload file nên phải thông qua quy trình như sơ đồ vậy

1. mẫu hồ sơ. php

File Upload Using PHP and cURL - freetuts.net Upload  

Code language: HTML, XML [xml]

2. tập tin cuộn tròn. php

// Nếu submit form if [isset[$_POST['btnUpload']]] { // Lấy thông tin file upload $filename = $_FILES['file']['name']; $filedata = $_FILES['file']['tmp_name']; $filesize = $_FILES['file']['size']; // Nếu file OK if [$filedata != ''] { $headers = array["Content-Type:multipart/form-data"]; // Đối với filedata phải có ký hiệu @ ở trước $postfields = array["filedata" => "@$filedata", "filename" => $filename]; // Khởi tạo CURL // URL trỏ đến file upload.php $ch = curl_init['//localhost/2_develop/tour/upload.php']; // Cấu hình có sử dụng header // Vì chúng ta đang gửi file nên header của nó // phải ở dạng Content-Type:multipart/form-data curl_setopt[$ch, CURLOPT_HEADER, true]; curl_setopt[$ch, CURLOPT_HTTPHEADER, $headers]; // Cấu hình sử dụng method POST curl_setopt[$ch, CURLOPT_POST, 1]; curl_setopt[$ch, CURLOPT_POSTFIELDS, $postfields]; // Thiết lập có gửi file và thông tin file curl_setopt[$ch, CURLOPT_INFILESIZE, $filesize]; // Cấu hình return curl_setopt[$ch, CURLOPT_RETURNTRANSFER, true]; // Thực thi curl_exec[$ch]; // Nếu không tồn tại lỗi nào trong CURL if[!curl_errno[$ch]] { $info = curl_getinfo[$ch]; if [$info['http_code'] == 200]{ echo 'Upload thành công'; } } else { echo curl_error[$ch]; } // Đóng CURL curl_close[$ch]; } else { echo 'Bạn chưa chọn file để upload'; } }

Code language: PHP [php]

3. tải lên tệp. php

// Đường dẫn upload $uploadpath = "upload/"; // Nhận thông tin $filedata = $_FILES['filedata']['tmp_name']; $filename = $_POST['filename']; if [$filedata != '' && $filename != '']{ // Dùng hàm copy để lưu vào thay vì hàm move_upload_file như thông thường copy[$filedata,$uploadpath.$filename]; }

Code language: PHP [php]

Trong file này các bạn thấy bất thường là chúng ta sử dụng hàm

// Nếu submit form if [isset[$_POST['btnUpload']]] { // Lấy thông tin file upload $filename = $_FILES['file']['name']; $filedata = $_FILES['file']['tmp_name']; $filesize = $_FILES['file']['size']; // Nếu file OK if [$filedata != ''] { $headers = array["Content-Type:multipart/form-data"]; // Đối với filedata phải có ký hiệu @ ở trước $postfields = array["filedata" => "@$filedata", "filename" => $filename]; // Khởi tạo CURL // URL trỏ đến file upload.php $ch = curl_init['//localhost/2_develop/tour/upload.php']; // Cấu hình có sử dụng header // Vì chúng ta đang gửi file nên header của nó // phải ở dạng Content-Type:multipart/form-data curl_setopt[$ch, CURLOPT_HEADER, true]; curl_setopt[$ch, CURLOPT_HTTPHEADER, $headers]; // Cấu hình sử dụng method POST curl_setopt[$ch, CURLOPT_POST, 1]; curl_setopt[$ch, CURLOPT_POSTFIELDS, $postfields]; // Thiết lập có gửi file và thông tin file curl_setopt[$ch, CURLOPT_INFILESIZE, $filesize]; // Cấu hình return curl_setopt[$ch, CURLOPT_RETURNTRANSFER, true]; // Thực thi curl_exec[$ch]; // Nếu không tồn tại lỗi nào trong CURL if[!curl_errno[$ch]] { $info = curl_getinfo[$ch]; if [$info['http_code'] == 200]{ echo 'Upload thành công'; } } else { echo curl_error[$ch]; } // Đóng CURL curl_close[$ch]; } else { echo 'Bạn chưa chọn file để upload'; } }

Code language: PHP [php]
0 chứ không phải hàm

// Nếu submit form if [isset[$_POST['btnUpload']]] { // Lấy thông tin file upload $filename = $_FILES['file']['name']; $filedata = $_FILES['file']['tmp_name']; $filesize = $_FILES['file']['size']; // Nếu file OK if [$filedata != ''] { $headers = array["Content-Type:multipart/form-data"]; // Đối với filedata phải có ký hiệu @ ở trước $postfields = array["filedata" => "@$filedata", "filename" => $filename]; // Khởi tạo CURL // URL trỏ đến file upload.php $ch = curl_init['//localhost/2_develop/tour/upload.php']; // Cấu hình có sử dụng header // Vì chúng ta đang gửi file nên header của nó // phải ở dạng Content-Type:multipart/form-data curl_setopt[$ch, CURLOPT_HEADER, true]; curl_setopt[$ch, CURLOPT_HTTPHEADER, $headers]; // Cấu hình sử dụng method POST curl_setopt[$ch, CURLOPT_POST, 1]; curl_setopt[$ch, CURLOPT_POSTFIELDS, $postfields]; // Thiết lập có gửi file và thông tin file curl_setopt[$ch, CURLOPT_INFILESIZE, $filesize]; // Cấu hình return curl_setopt[$ch, CURLOPT_RETURNTRANSFER, true]; // Thực thi curl_exec[$ch]; // Nếu không tồn tại lỗi nào trong CURL if[!curl_errno[$ch]] { $info = curl_getinfo[$ch]; if [$info['http_code'] == 200]{ echo 'Upload thành công'; } } else { echo curl_error[$ch]; } // Đóng CURL curl_close[$ch]; } else { echo 'Bạn chưa chọn file để upload'; } }

Code language: PHP [php]
1 nhé

Lời kết

Các bạn chạy file form.php up và thực hiện upload thử xem có bị lỗi không, hy vọng là được. Cũng khá đơn giản phải không nào, bài này chỉ mang tính chất học tập, làm bài tập để che thư viện CURL  hơn thôi, chúc các bạn học tốt nhé

Chủ Đề