目前不管是移动端的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;
$params[CURLOPT_SSL_VERIFYPEER] = false;
$params[CURLOPT_SSL_VERIFYHOST] = false;
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();
$headers = [
//"Content-Type:text/html;charset=UTF-8", "Connection: Keep-Alive"
];
$params[CURLOPT_HTTPHEADER] = $headers; //自定义header
$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;
$params[CURLOPT_SSL_VERIFYPEER] = false;
$params[CURLOPT_SSL_VERIFYHOST] = false;
curl_setopt_array($ch, $params); //传入curl参数
$content = curl_exec($ch); //执行
echo $content; //输出登录结果
curl_close($ch); //关闭连接
接收字符串数据只需使用:
file_get_contents('php://input');
-
系统提示错误 Warning: curl_setopt_array() [function.curl-setopt-array]: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set 这个怎么解决(0) 回复 (0)
-
极速飞艇开奖直播 澳洲幸运5开奖直播 英国乐透8预测开奖 煎时在液未沸前宜用急火,沸后改用文火,以防中很快熬干,物中的有效成分未能溶解出来而影响效。煎熬时最好经常搅拌,让液充分煎好煎透。清热、解表煎的时间不要太长,一般头煎沸后再煎20分钟,二煎、三煎沸后再煎15分钟即可。(0) 回复 (0)
-
百家樂娛樂城算點法這個方法是基於百家樂是常勝的一方(0) 回复 (0)
-
讨债公司/蓝月传奇辅助/蓝月辅助(0) 回复 (0)
-
如果使用PHP通过POST的方式提交xml或者json等格式的字符串可以使用如下代码: 幸运飞艇直播 幸运时时彩走势图 福彩双色球结果(0) 回复 (0)
-
讨债公司 搬家公司 蓝月传奇辅助(0) 回复 (0)