php中模拟POST传递数据的两种方法分享

yipeiwu_com5年前PHP代码库
方法1
复制代码 代码如下:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://192.168.1.135/turntable/get_jump.php");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $array);
curl_exec($ch);
curl_close($ch);

方法2
复制代码 代码如下:

$data['uid'] = $this->uid;
$data['efforts'] = $res['efforts'];
$data['breakthrough'] = $res['breakthrough'];
$data['target'] = $res['target'];
$str = '';
foreach ($data as $k=>$v) {
if (is_array($v)) {
foreach ($v as $kv => $vv) {
$str .= '&' . $k . '[' . $kv . ']=' . urlencode($vv);
}
} else {
$str .= '&' . $k . '=' . urlencode($v);
}
}
$context =
array('http' =>
array('method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded'."\r\n".
'User-Agent: Manyou API PHP Client 0.1 (non-curl) '.phpversion()."\r\n".
'Content-length: ' . strlen($str),
'content' => $str));
$contextid = stream_context_create($context);
$sock = fopen('http://192.168.1.135/turntable/get_jump.php', 'r', false, $contextid);
if ($sock) {
$result = '';
while (!feof($sock)) {
$result .= fgets($sock, 4096);
}
fclose($sock);

相关文章

PHP5 面向对象(学习记录)

1,继承extends 只能单继承 public protected private 属性 __construct() __destruct() __get()读取私有成员 __set(...

php缓冲 output_buffering和ob_start使用介绍

buffer buffer是一个内存地址空间,Linux系统默认大小一般为4096(4kb),即一个内存页。主要用于存储速度不同步的设备或者优先级不同的设备之间传办理数据的区域。通过bu...

ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单

首先是数据库的设计。分类表叫cate. 我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id). 父id的设置: 若数据没有上一级,则父id为0,若有...

PHP+APACHE实现网址伪静态

 Apache的 mod_rewrite是比较强大的,在进行网站建设时,可以通过这个模块来实现伪静态。 主要步骤如下:   1.检测Apache是否开启mod_rewrite功...

PHP实现多图片上传类实例

本文所述为一个实用的PHP多图片文件上传类,其支持gif、jpg、jpeg、pjpeg、png格式的多图片上传功能,类中还可限制图片类型、上传图片的大小、设置上传目录、一些提交判断等功能...