php curl post发送文件大小,php采用curl实现POST数据与文件上传与接收

b6a1e4e5a035c8a345819a5793ae8795.png

php的curl是一个强大的网络库,可以用于GET与POST数据的传输

相对来说,GET格式简单,但是安全性略差,且携带数据有限,下面主要介绍POST数据的传输。

普通data:

$url =

'http://10.0.1.123/imessage/login.php';

$ch=curl_init($url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER,

1);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST,

"POST");

$json_string = json_encode($data);

curl_setopt($ch, CURLOPT_POSTFIELDS,

array('data'=>$json_string));

$response = curl_exec($ch);

curl_close($ch);

echo $response;

?>

接受普通数据:

$json_data = json_decode($_POST['data']);

数据格式

94925321cc1798fc165713cad804878b.png

传输文件:

enctype="multipart/form-data">

Filename:

or

$post = array(

"excel"=>"@example.xls",//这里是要上传的文件,key与后台处理文件对应

);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://localhost/phpexcel/upsvr.php");

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_POSTFIELDS,$post);

curl_setopt($ch, CURLOPT_RETURNTRANSFER,

1);

curl_setopt($ch, CURLOPT_VERBOSE, 0);

$a=curl_exec($ch);

echo $a;

curl_close($ch);

?>

接收文件:

//$_FILES["excel"]["tmp_name"]

is the tmp file name

//$_FILES['excel'][name] is the remote file

ame

//if

((($_FILES["excel"]["type"] ==

"application/octet-stream"))&&

($_FILES["excel"]["size"] < 20000))

{

echo $_FILES["excel"]["type"]."

";

if

($_FILES["excel"]["error"] > 0)

{

echo "Return Code: " .

$_FILES["excel"]["error"] . "

";

}

else

{

echo "Upload: " .

$_FILES["excel"]["name"] . "

";

echo "Type: " .

$_FILES["excel"]["type"] . "

";

echo "Size: " . ($_FILES["excel"]["size"]

/ 1024) . " Kb

";

echo "Temp file: " .

$_FILES["excel"]["tmp_name"] . "

";

if (file_exists("upload/" .

$_FILES["excel"]["name"]))

{

echo

$_FILES["excel"]["name"] . " already exists. ";

}

else

{

move_uploaded_file($_FILES["excel"]["tmp_name"],

"upload/" .

$_FILES["excel"]["name"]);

echo "Stored in: " .

"upload/" . $_FILES["excel"]["name"]."

";

}

}

}

//else

{

echo "Invalid file";

}

?>

通过使用PHP的全局数组$_FILES,你可以从客户计算机向远程服务器上传文件。

第一个参数是表单的input name,第二个下标可以是"name", "type", "size",

"tmp_name"或"error"。就像这样:

$_FILES["file"]["name"]

-被上传文件的名称

$_FILES["file"]["type"]

-被上传文件的类型

$_FILES["file"]["size"]

-被上传文件的大小,以字节计

$_FILES["file"]["tmp_name"]

-存储在服务器的文件的临时副本的名称

$_FILES["file"]["error"]

-由文件上传导致的错误代码

以下为不同代码代表的意思:

0;文件上传成功。

1;超过了文件大小php.ini中即系统设定的大小。

2;超过了文件大小MAX_FILE_SIZE选项指定的值。

3;文件只有部分被上传。

4;没有文件被上传。

5;上传文件大小为0

这是一种非常简单文件上传方式。基于安全方面的考虑,应当增加有关什么用户有权上传文件的限制。

需要注意的是:move_uploader_file可能失败,这是因为存放的文件夹权限不够,改为wx(读r 4,写2,执行1),chmod 333 test即可,需要读取的话,则要777。

传输文件的数据格式如下:

060b6a016083128265a0cbd3c49575cb.png

今天就给大家讲这么多吧,php作为开发类的一个语言,现在受到越来越多人的关注,选择合肥PHP培训,不再孤军奋战,轻轻松松做IT高薪白领。合肥计算机培训带领有明确目标的学子迈向成功之路!

【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值