PHP upload file bằng CURL

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

<!DOCTYPE html>

<html>

<head>

<title>File Upload Using PHP and cURL - freetuts.net</title>

</head>

<body>

<form action="b.php" method="post" enctype="multipart/form-data">

<h3>Select File</h3>

<input name="file" type="file" id="file" />

<hr />

<input name="btnUpload" type="submit" value="Upload" />

</form>

</body>

</html>

curl.php

<?php

if (isset($_POST['btnUpload'])){

$filename = $_FILES['file']['name'];

$filedata = $_FILES['file']['tmp_name'];

$filesize = $_FILES['file']['size'];

if ($filedata != ''){

$handle = fopen($filedata, 'rb');

$data = fread($handle, $filesize);

fclose($handle);


$postfields = array('filedata' => $data, 'filename' => $filename);

$ch = curl_init('http://test.pro/upload.php');

curl_setopt($ch, CURLOPT_HEADER, true);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_exec($ch);

if(curl_errno($ch)){

echo curl_error($ch);

} else {

$info = curl_getinfo($ch);

if ($info['http_code'] == 200){

echo 'Upload thành công';

}

}

curl_close($ch);

} else {

echo 'Bạn chưa chọn file để upload';

}

}

upload.php

<?php

$uploadpath = 'upload/';

$filedata = $_POST['filedata'];

$filename = $_POST['filename'];

if ($filedata != '' && $filename != ''){

file_put_contents($uploadpath . $filename, $filedata);

}


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