php中curl get/post 例子 (包括https协议)

 更新时间:2016年11月25日 16:46  点击:1360
php中curl函数可以实现get与post操作,我们经常使用它来做一些人为模仿操作了,下面我来简单的介绍post与get的例子。

get 方法

 

 代码如下 复制代码
$url = "http://www.111cn.net /index.php?a=b&c=d&e=f&g=" . urlencode('王璐个人博客');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    // 要求结果为字符串且输出到屏幕上
curl_setopt($ch, CURLOPT_HEADER, 0); // 不要http header 加快效率
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
$output = curl_exec($ch);
curl_close($ch);
var_dump($output);


post 方法

 

 代码如下 复制代码
$url = "http://www.111cn.net/ index.php";
$params = "a=b&c=d&e=f&g=" . urlencode('王璐个人博客');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    // 要求结果为字符串且输出到屏幕上
curl_setopt($ch, CURLOPT_HEADER, 0); // 不要http header 加快效率
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
 
curl_setopt($ch, CURLOPT_POST, 1);    // post 提交方式
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
 
$output = curl_exec($ch);
curl_close($ch);
var_dump($output);

当请求https的数据时,会要求证书,这时候,加上下面这两个参数,规避ssl的证书检查

 代码如下 复制代码

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);    // https请求 不验证证书和hosts
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

最后一个数组元素的获取方法是非常的简单,一个我们可以获取数组长度之后再取最后一个下标值,另一个可以使用相关函数来操作,下面整理一些相关例子。

例子

end() 函数将数组内部指针指向最后一个元素,并返回该元素的值(如果成功)。例如:

 

 代码如下 复制代码

$args=Array('www','111cn','net');

echo end($args);//net

$args就是$items里的最后一个元素

例子,还有一个count 统计长度

 代码如下 复制代码

<?
$array = array(php,jsp,asp);
$count = count($array);
echo old:<br>;
for($i=0;$i<$count;$i++) echo $array[$i].<br>;
array_pop($array);
$count = count($array);
echo new:<br>;
for($i=0;$i<$count;$i++) echo $array[$i].<br>;
?>

输出结果:
old:
php
jsp
asp
new:
php
jsp

补充:array_pop 删除数组的最后一个元素,例如代码:

 代码如下 复制代码

$user=array('apple','banana','orange');
$result=array_pop($user);
print_r($result);
print_r($user);

结果将是:
orange
array('apple','banana')

获取第一个元素

 代码如下 复制代码

<?php
$array=array('step one','step two','step three','step four');
echo reset($array);
//输出:step one

很多朋友在获取日期时间时我们都是直接使用date而这个函数默认获取的日期是我们本地机器的日期时间了,那么要怎么获取服务器上的时间呢,下面我都总结一下。

我们通常的日期做吱

 代码如下 复制代码

<?php
    echo date("Y-m-d h:i:s");
?>

PHP 获取服务器时间:

上面的方法只是获取本地时间,加上下面一行代码,便能获取服务器时间。

 代码如下 复制代码

<?php
    date_default_timezone_set('PRC');
    echo date("Y-m-d h:i:s");
?>

php中mail函数是一个自带的发邮件的函数,但是如果你真的要使用mail函数来发邮件那必须是要给你系统安装sendmail组件才可以哦,下面我就碰到mail发送不了邮件的问题,下面一起来看看解决办法吧。

之前的那台服务器转移过来后,发现网站用mail()发送邮件发不了。但是发现sendmail明明已经安装。

如果没有安装sendmail可以执行

 代码如下 复制代码

yum install sendmail

对了,主机名要设置一个域名格式的。例如:sangsir.com
不然重启sendmail的时候会特别久才启动起来。(否则要等很久)

 

 代码如下 复制代码
hostname sangsir.com

接着看看sendmail是否正常运行

 

 代码如下 复制代码
service sendmail status

如果没有运行可以启动。status换成start
紧接着,编辑php.ini。可以在web环境下创建一个phpinfo
因为我用的是lnmp。

vi /usr/local/php/etc/php.ini


再查找:

;sendmail_path =


按i编辑,替换为:

 

 代码如下 复制代码
sendmail_path = /usr/sbin/sendmail -t -i

我的系统默认的是:

sendmail_path = /usr/sbin/sendmail -t -i -f

这个-f 看来是让mail函数停用了,去掉-f后mail函数工作恢复正常。


紧接着,重启PHP进程。

一般是:service php restart
LNMP是:service php-fpm restart
Apache下可以:service httpd restart


给大家分享个php脚本测试代码:

 代码如下 复制代码

<?php
$send = mail(‘yourEmail@lisizhang.com’, ‘邮件标题’, ‘测试邮件内容,如果收到此邮件,表示mail函数成功启用!’);
if($send){
echo ‘true’;
}else{
echo ‘false’;
}
?>

如果返回结果false说明邮件发送失败,如果返回true表示邮件发送成功!

php中array_map函数是返回一个数组了,然后对我们的传值一个个传组我们要处理的函数处理,下面来给大家介array_map函数使用例子。

array array_map ( callable $callback , array $arr1 [, array $... ] )

array_map() 返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后的单元。

callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致。

 

 代码如下 复制代码

function fun($n)
{
return $n * $n * $n;
}

$a = array(1, 2, 3, 4, 5);
$b = array_map('fun', $a); /* 每个数组单元作三次方运算,返回数组 */
print_r($b);
/*
Array
(
[0] => 1
[1] => 8
[2] => 27
[3] => 64
[4] => 125
)
*/

array_map('unlink', glob('*.txt'));/* glob返回"文件名.txt"组成的数组,然后对每个文件进行删除操作*/

array_map('unlink', glob('*.*'));

array_map('unlink', glob('*'));

如果不使用array_map(),对数组每个单元进行操作就只能遍历然后适当组装。

再看个例子

 代码如下 复制代码

//单个数组使用的例子
$websites=array("g"=>"google","b"=>"baidu","y"=>"yahoo");
//输出原数组
echo "<pre>";
print_r($websites);
echo "</pre>";
//定义对单个数组处理的回调函数
function change_value($value){
return ucfirst($value).".com";
}
$urls=array_map('change_value',$websites);
echo "<pre>";
print_r($urls);
echo "</pre>";
//多个数组使用的例子
$arr1=array(1,3,5,7);
$arr2=array(2,4,6,8);
//定义对多个数组处理的回调函数
function func1($a,$b){
return $a*$b;
}
$results=array_map('func1',$arr1,$arr2);
echo "利用回调函数对多个数组处理后,返回的结果:<br>";
echo "<pre>";
print_r($results);
echo "</pre>";

有朋友不清楚array_walk和array_map的区别,下面我简单的介绍一下

map主要是为了得到你的回调函数处理后的新数组,要的是结果。

walk主要是对每个参数都使用一次你的回调函数,要的是处理的过程。

[!--infotagslink--]

相关文章

  • Linux下PHP安装curl扩展支持https例子

    安装curl扩展支持https是非常的重要现在许多的网站都使用了https了,下面我们来看一篇关于PHP安装curl扩展支持https例子吧。 问题: 线上运行的lamp服务器,默认yu...2016-11-25
  • php使用floor去掉小数点的例子

    floor会产生小数了如果我们不希望有小数我们是可以去除小数点的了,下面一聚教程小编来为各位介绍php使用floor去掉小数点的例子,希望对各位有帮助。 float floor (...2016-11-25
  • node.js 基于 STMP 协议和 EWS 协议发送邮件

    这篇文章主要介绍了node.js 基于 STMP 协议和 EWS 协议发送邮件的示例,帮助大家更好的理解和使用node.js,感兴趣的朋友可以了解下...2021-02-15
  • 纯Css实现下拉菜单的简单例子

    下面我们来看一篇关于纯Css实现下拉菜单的简单例子,希望这篇文章能够给各位同学带来帮助,具体步骤如下. 大家可能会经常用到hover这属性,用hover实现鼠标经过的颜...2017-01-22
  • POP3协议命令原始码及工作原理

    http://www.linuxforum.net Jephe Wu (2001-04-21 18:17:49) 一 简介: 1. POP适用于C/S结构的脱机模型的电子邮件协议,目前已发展到第三版,称POP3。脱机模型即不能在...2016-11-25
  • php时间日期对比与日期加减例子

    在php中日期对比用得比较多了,还有一个日期加减也用到不少,下面我拿两个例子来给大家介绍在php中日期操作方法吧,希望文章能给你带来帮助 功能需求 文章发布时段操...2016-11-25
  • Websocket协议详解及简单实例代码

    这篇文章主要介绍了Websocket协议详解及简单实例代码的相关资料,这里对websocket 协议进行详细介绍,并附简单实例代码,需要的朋友可以参考下...2016-12-19
  • php更新修改excel中的内容例子

    本例子不是读取Excel或生成新的Excel,而是读取现有的Excel文件,然后修改Excel中的数据,就像修改mysql中数据一样的哦。 代码如下 ...2016-11-25
  • php正则获取文章内容中图片地址例子

    正则提取图片中的地址我们介绍过很多的相关文章了,下面再来给各位介绍一个可以提取内容中第一张图片的例子,希望对各位有帮助。 代码如下 复制代码 ...2016-11-25
  • php获取QQ头像并显示的例子

    最近看到博客留言的头像有点别扭,因为游客的头像都是同一个头像,看着不是很舒服。虽然现在绝大多数的主题集成了Gavatar头像功能,先不说gavatar被墙的问题,我自己现在都没...2016-11-25
  • .Net WInform开发笔记(二)Winform程序运行结构图及TCP协议在Winform中的应用

    中午没事,把去年刚毕业那会画的几张图翻出来了,大概介绍Winform应用程序运行的过程,以及TCP协议在Winform中的应用。感兴趣的朋友可以了解下;如果有Windows消息机制等基础,很好理解这两张...2020-06-25
  • php判断字符串是否包含另一个字符串例子

    php判断字符串是否包含另一个字符串的实现方法有许多的办法,像我们在网上一搜索可看到大量关于字符是否包含指定字符的方法,下面我把这些实用的例子整理一起与大家分享...2016-11-25
  • PHP date函数获取时间几个例子

    date函数是php中一个非常好用的日期获取函数了,我们可以使用它来获取指定日期或者当前日期了,下面我来简单的介绍一下date函数用法与常用用法吧。 PHP星期几获取代...2016-11-25
  • 分享十条实用的Swift小提示

    是时候使用易入手又全面的Swif语言为iOS和mac OS X做应用开发了,下面这篇文章主要给大家分享介绍了十条实用的Swift小提示的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧...2020-06-30
  • php5.6使用ODBC链接mssql(包括各版本)例子

    ODBC方式连接数据库在mssql中我们通常会用到到了就连小编最初使用的asp也是使用此模式来连接数据库进行查询了,今天我们一起来看一篇关于php5.6使用ODBC链接mssql(包括...2016-11-25
  • php 设置cookie路径例子总结

    对于cookie path很多的朋友不以为燃了这样会发现就是因为一个小点或一个路径问题测试了一天发现读取不了cookie值了,今天我就来给大家介绍cookie中路径的一些例子与注...2016-11-25
  • eclipse实现可认证的DH密钥交换协议

    这篇文章主要介绍了eclipse实现可认证的DH密钥交换协议,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-24
  • php文件锁类防止并发的例子

    文件锁可以防止文件读写时多人访问时出现共享问题或数据不准确的问题,下面我们来看一篇关于php文件锁类防止并发的例子,具体如下. 工作间隙写了个文件锁的类,用于...2016-11-25
  • php输出404状态码的例子

    404状态代码在php中可以使用header输出但不能使用echo或print输出哦,许多的朋友把这个给搞混了,下面我们来看一篇关于php输出404状态码的例子 例子 代码如...2016-11-25
  • 视频网站的制作例子二

    Listing 4. simplemovie.mxml <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:VBox...2016-11-25