SharePHP upload file bằng CURL

9 bài đăng
20.10.2017 / 20:45
MrKen
Bài đăng: 2643
Trùm!
Vẫn là A N H

Bài viết này sẽ hướng dẫn các bạn tạo một trang upload file đơn giản bằng CURL.

Tạo 3 file sau đây:

index.php

PHP
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>File Upload Using PHP and cURL - freetuts.net</title>
  5. </head>
  6. <body>
  7. <form action="b.php" method="post" enctype="multipart/form-data">
  8. <h3>Select File</h3>
  9. <input name="file" type="file" id="file" />
  10. <hr />
  11. <input name="btnUpload" type="submit" value="Upload" />
  12. </form>
  13. </body>
  14. </html>

curl.php

PHP
  1. <?php
  2. if (isset($_POST['btnUpload'])){
  3. $filename = $_FILES['file']['name'];
  4. $filedata = $_FILES['file']['tmp_name'];
  5. $filesize = $_FILES['file']['size'];
  6. if ($filedata != ''){
  7. $handle = fopen($filedata, 'rb');
  8. $data = fread($handle, $filesize);
  9. fclose($handle);
  10.  
  11. $postfields = array('filedata' => $data, 'filename' => $filename);
  12. $ch = curl_init('http://test.pro/upload.php');
  13. curl_setopt($ch, CURLOPT_HEADER, true);
  14. curl_setopt($ch, CURLOPT_POST, 1);
  15. curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
  16. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  17. curl_exec($ch);
  18. if(curl_errno($ch)){
  19. echo curl_error($ch);
  20. } else {
  21. $info = curl_getinfo($ch);
  22. if ($info['http_code'] == 200){
  23. echo 'Upload thành công';
  24. }
  25. }
  26. curl_close($ch);
  27. } else {
  28. echo 'Bạn chưa chọn file để upload';
  29. }
  30. }

upload.php

PHP
  1. <?php
  2. $uploadpath = 'upload/';
  3. $filedata = $_POST['filedata'];
  4. $filename = $_POST['filename'];
  5. if ($filedata != '' && $filename != ''){
  6. file_put_contents($uploadpath . $filename, $filedata);
  7. }

Thay địa chỉ ở file curl.php và tạo thêm thư mục upload nữa là xong!

20.10.2017 / 20:48
VinaDP
Bài đăng: 627
Member

Yeahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

20.10.2017 / 20:56
VinaDP
Bài đăng: 627
Member

Tại sao lại có thể dùng hàm fileputcontents zậy chứ??

20.10.2017 / 20:57
MrKen
Bài đăng: 2643
Trùm!
Vẫn là A N H

chạy được là được, ok :yao:

20.10.2017 / 20:58
VinaDP
Bài đăng: 627
Member
MrKen đã viết

chạy được là được, ok :yao:

fileputcontents e chỉ nghỉ là để ghi nội dung ,còn lưu file thì chịu ,hại não quá

20.10.2017 / 20:59
MrKen
Bài đăng: 2643
Trùm!
Vẫn là A N H

file nó cũng chỉ là 1 chuỗi ký tự mã hóa thôi

20.10.2017 / 21:04
VinaDP
Bài đăng: 627
Member
MrKen đã viết

file nó cũng chỉ là 1 chuỗi ký tự mã hóa thôi

Uk, à mà site lớn như freetust thì sao lại share code lỗi chứ

20.10.2017 / 21:05
MrKen
Bài đăng: 2643
Trùm!
Vẫn là A N H

sai bé như phonho sao lại share code không lỗi :yao:

20.10.2017 / 21:05
VinaDP
Bài đăng: 627
Member

Và còn thuộc tính mở file rb nữa :v