使用PHP的CURL基于RESTful风格实现POST字符串或文件上传

目前不管是移动端的API还是调用众多服务商(微信、微博、银行等)的接口大多数都是基于RESTful风格。下面就介绍如何使用PHP基于RESTful风格上传文件或POST字符串。

上传文件代码示例:

$url = '提交地址';
//$postfields = file_get_contents('文件路径或者文件名'); 
$ch = curl_init();
$params[CURLOPT_URL] = $url;    //请求url地址
$params[CURLOPT_HEADER] = true; //是否返回响应头信息
$params[CURLOPT_RETURNTRANSFER] = true; //是否将结果返回
$params[CURLOPT_FOLLOWLOCATION] = true; //是否重定向
$params[CURLOPT_POST] = true;
$params[CURLOPT_POSTFIELDS] = $postfields;

curl_setopt_array($ch, $params); //传入curl参数
$content = curl_exec($ch); //执行
echo $content; //输出登录结果
curl_close($ch); //关闭连接

如果PHP作为服务器端接收文件并保存可以使用如下代码:

$bin_file = file_get_contents('php://input');
file_put_contents('文件保存路径/文件名.扩展名');

如果使用PHP通过POST的方式提交xml或者json等格式的字符串可以使用如下代码:

$url = '提交地址';
$postfields = 'XML或者JSON等字符串';
$ch = curl_init();
$params[CURLOPT_URL] = $url;    //请求url地址
$params[CURLOPT_HEADER] = true; //是否返回响应头信息
$params[CURLOPT_RETURNTRANSFER] = true; //是否将结果返回
$params[CURLOPT_FOLLOWLOCATION] = true; //是否重定向
$params[CURLOPT_POST] = true;
$params[CURLOPT_POSTFIELDS] = $postfields;

curl_setopt_array($ch, $params); //传入curl参数
$content = curl_exec($ch); //执行
echo $content; //输出登录结果
curl_close($ch); //关闭连接

接收字符串数据只需使用:

file_get_contents('php://input'); 

转载:https://www.liminghulian.com/article/30

猜你喜欢

转载自blog.csdn.net/qq_38149009/article/details/80706636