前公司吃饭是需要在钉钉报餐的,对于不挑剔的我每天都在公司吃饭,有时忘记报餐导致吃不了饭还是很麻烦的。看了下报餐系统需要的是json数据包含我的工号即可。于是编写如下代码,放在360网址监控,1小时执行1次
<?php /*自动报餐类*/ class AutoBaocan{ private $url; private $data; //构造方法初始化 function __construct($url,$data){ $this->url=$url; $this->data=$data; } //(1).创建会话,返回会话 public function newcurl(){ $ch=curl_init();//初始会话 curl_setopt($ch,CURLOPT_POST,1);/*Post模式*/ curl_setopt($ch,CURLOPT_URL,$this->url);/*URl设置*/ curl_setopt($ch,CURLOPT_POSTFIELDS,$this->data);/*Json数据*/ curl_setopt($ch,CURLOPT_HTTPHEADER,array( 'Content-Type: application/json; charset=gb2312', 'Content-Length: ' . strlen($this->data) )); return $ch; } //(2).利用会话句柄,发送Json,返回状态和文本 public function postjson($ch){ //开启缓存区 ob_start(); //执行CURL会话 curl_exec($ch); //获取缓冲区的内容 $return_content=ob_get_contents(); //关闭缓冲区 ob_end_clean(); //获取资源句柄的信息 $return_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); return array($return_code, $return_content); } } /*类结束*/ //设置参数 $url = "http://weixin.xajlnkyjy.com/lswyjishu/renshi.php/Bcdingding/baocan"; /*目标URL*/ $info = array ( shangwu=>'吃', xiawu=>'吃', jobnumber=>'0209060334387389791', ename=>'高久峰', deptname=>'安康项目组' ); $data = json_encode($info);/*Json数据*/ //实例化 $Baocan=new AutoBaocan($url,$data); //执行发送json $result=$Baocan->postjson($Baocan->newcurl()); //生成日志 file_put_contents('log.txt',$result[0]."--".$result[1]."\r\n",FILE_APPEND); ?>
PHP不像net支持多继承,自身只支持单继承,为了解决这个问题,php出了Trait这个特性,减少单继承语言的限制。并且能让代码复用率更高。说白了就是一个对象的属性和方法扩展工具一样。例如:trait exts { public f...
(1).在PHP中可以查看的环境变量包括: (1.1).电脑环境变量 (2.1).服务器环境变量(2).getenv()函数获取一个环境变量的值.参数1是环境变量的key,参数2值为true的时候仅从你的电脑环境变量中查找,参数2值为false会从两种变量中全部查询//获取我电脑登录的用户名,输出A...
文章篇幅较长,如果不喜欢看文章的,此处抛出韩顺丰老师的位运算视频,韩老师应该是全网讲php位运算符最详细的一个老师了。链接:https://pan.baidu.com/s/14xj7er8eVSUcJ-jYXyA0GA 提取码:731m 链接:https://pan.baidu.com...
在调用微信code换openid的接口curl报错curl Received HTTP code 403 from proxy after CONNECT,错误码56。可以看到是curl的代理有问题。然后我自己电脑设置代理去访问curl请求的地址,的确也返回了403,说明代理不允许访问这个地址,联系...
由于workerman底层直接读取$_SERVER['argv']的命令行参数,没有提供独立的方法start/stop,而tp的命令行参数无法适配workerman,虽然thinkphp官方专门做了一个适配的版本,但是看了下评论问题挺多的。于是自己来搞一个.(1).在applicat...
编写socket服务检测是否有新连接加入都要使用stream_socket_accept和socket_accept来获取,但是默认是阻塞的,想要更换为非阻塞并不能用stream_set_blocking($socket, false),因为stream_set_blocking只是设置socket...