大创管理系统数据采集
大创管理系统数据采集
php分析网页数据类似jquery一样方便(simple_html_dom)
PHP simple_html_dom 解析器不仅仅只是帮助我们验证html文档;更能解析不符合W3C标准的html文档。它使用了类似jQuery的元素选择器,通过元素的id,class,tag等等来查找定位;同时还提供添加、删除、修改文档树的功能。当然,这样一款强大的html Dom解析器也不是尽善尽美;在使用的过程中需要十分小心内存消耗的情况。不过,不要担心;本文中,笔者在最后会为各位介绍如何避免消耗过多的内存。
阅读详细 »
kindeditor编辑器
官方网站:http://kindeditor.net/
官方文档:http://kindeditor.net/doc.php
下载地址:http://kindeditor.net/down.php
Github: https://github.com/kindsoft/kindeditor
Oschina: https://gitee.com/luolonghao/kindeditor
ThinkPHP5.1框架禁止Common模块访问
config文件夹app.php配置文件中设置了 禁止访问模块
微信昵称带表情图片无法保存数据库,emoji表情网页无法正常显示文件解决方案
微信昵称带表情图片无法保存数据库,emoji表情网页无法正常显示文件解决方案
微信昵称中使用了emoji表情,uft8字符编码无法保存,可以用utf8mb4编码保存。
同样在读取数据库的时候,也需要把utf8编码修改成utf8mb4才可以。
简单来总结一下就是
1.数据库需要用utf8mb4来保存带有emoji表情的字符串。
2.PHP在读取数据的时候需要设置通讯编码为utf8mb4。
阅读详细 »
服务器上发现的一段PHP后门程序
服务器上发现的一段PHP后门程序 阅读详细 »
基于PHP socket + WebSocket 实现聊天室功能详解。
基于PHP socket + WebSocket 实现聊天室功能详解。
在PHP中,开发者需要考虑的东西比较多,从socket的连接、建立、绑定、监听等都需要开发者自己去操作完成,对于初学者来说,难度方面也挺大的,所以本文的思路如下:
1、socket协议的简介
2、介绍client与server之间的连接原理
3、PHP中建立socket的过程讲解
4、用一个聊天室作为实例详细讲解在PHP中如何使用socket
阅读详细 »
命令行的形式运行php
注意:在安装php时需要将php 的安装目录加到环境变量 PATH 中
(右击我的电脑->属性->高级->环境变量, 如果存在 PATH 则在原来的 PATH 中加入你的PHP安装目录, 如果不存在则新建一个 PATH)
以下是 PHP 二进制文件(即 php.exe 程序)提供的命令行模式的选项参数,您随时可以通过 PHP -h 命令来查询这些参数。
Usage: php [options] [-f] <file> [args...] php [options] -r <code> [args...] php [options] [-- args...] -s Display colour syntax highlighted source. -w Display source with stripped comments and whitespace. -f <file> Parse <file>. -v Version number -c <path>|<file> Look for php.ini file in this directory -a Run interactively -d foo[=bar] Define INI entry foo with value 'bar' -e Generate extended information for debugger/profiler -z <file> Load Zend extension <file>. -l Syntax check only (lint) -m Show compiled in modules -i PHP information -r <code> Run PHP <code> without using script tags <?..?> -h This help args... Arguments passed to script. Use -- args when first argument starts with - or script is read from stdin |
CLI SAPI 模块有以下三种不同的方法来获取您要运行的 PHP 代码:
在windows环境下,尽量使用双引号, 在linux环境下则尽量使用单引号来完成。
-
让 PHP 运行指定文件。
php my_script.php php -f "my_script.php"
以上两种方法(使用或不使用 -f 参数)都能够运行给定的 my_script.php 文件。您可以选择任何文件来运行,您指定的 PHP 脚本并非必须要以 .php 为扩展名,它们可以有任意的文件名和扩展名。
-
在命令行直接运行 PHP 代码。
php -r "print_r(get_defined_constants());"
在使用这种方法时,请您注意外壳变量的替代及引号的使用。
注: 请仔细阅读以上范例,在运行代码时没有开始和结束的标记符!加上 -r 参数后,这些标记符是不需要的,加上它们会导致语法错误。
-
通过标准输入(stdin)提供需要运行的 PHP 代码。
以上用法给我们提供了非常强大的功能,使得我们可以如下范例所示,动态地生成 PHP 代码并通过命令行运行这些代码:
$ some_application | some_filter | php | sort -u >final_output.txt
以上三种运行代码的方法不能同时使用。
和所有的外壳应用程序一样,PHP 的二进制文件(php.exe 文件)及其运行的 PHP 脚本能够接受一系列的参数。PHP 没有限制传送给脚本程序的参数的个数(外壳程序对命令行的字符数有限制,但您通常都不会超过该限制)。传递给您脚本的参数可在全局变量 $argv 中获取。该数组中下标为零的成员为脚本的名称(当 PHP 代码来自标准输入获直接用 -r 参数以命令行方式运行时,该名称为“-”)。另外,全局变量 $argc 存有 $argv 数组中成员变量的个数(而非传送给脚本程序的参数的个数)。
只要您传送给您脚本的参数不是以 – 符号开头,您就无需过多的注意什么。向您的脚本传送以 – 开头的参数会导致错误,因为 PHP 会认为应该由它自身来处理这些参数。您可以用参数列表分隔符 — 来解决这个问题。在 PHP 解析完参数后,该符号后所有的参数将会被原样传送给您的脚本程序。
# 以下命令将不会运行 PHP 代码,而只显示 PHP 命令行模式的使用说明: $ php -r 'var_dump($argv);' -h Usage: php [options] [-f] <file> [args...] [...] # 以下命令将会把“-h”参数传送给脚本程序,PHP 不会显示命令行模式的使用说明: $ php -r "var_dump($argv);" -- -h array(2) { [0]=> string(1) "-" [1]=> string(2) "-h" } |
除此之外,我们还有另一个方法将 PHP 用于外壳脚本。您可以在写一个脚本,并在第一行以 #!/usr/bin/php 开头,在其后加上以 PHP 开始和结尾标记符包含的正常的 PHP 代码,然后为该文件设置正确的运行属性。该方法可以使得该文件能够像外壳脚本或 PERL 脚本一样被直接执行。
#!/usr/bin/php <?php var_dump($argv); ?> |
假设改文件名为 test 并被放置在当前目录下,我们可以做如下操作:
$ chmod 755 test $ ./test -h -- foo array(4) { [0]=> string(6) "./test" [1]=> string(2) "-h" [2]=> string(2) "--" [3]=> string(3) "foo" } |
正如您所看到的,在您向该脚本传送以 – 开头的参数时,脚本仍然能够正常运行。
php生成UUID
UUID含义是 通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部分。
UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。目前最广泛应用的 UUID,即是微软的 Microsoft’s Globally Unique Identifiers (GUIDs),而其他重要的应用,则有 Linux ext2/ext3 档案系统、LUKS 加密分割区、GNOME、KDE、Mac OS X 等等。
阅读详细 »
php生成GIF图片验证码
微信小程序及各种平台对接常用可逆加密算法aes256
不同程序之间经常会交换数据,我们经常采用的套路是:
假设要传输的信息是json,我们假设其为json_data,通过http传递信息为
json_data_encode=json_data&sign=md5(json_data+key)
接收方通过验证sign就知道内容有没有被篡改.
阅读详细 »
PHP获取视频的第一帧与时长
//获得视频文件的缩略图 阅读详细 »
Fiddler实现手机抓包
手机用fiddler抓包
电脑最好是笔记本,这样能和手机保持统一局域网内;其他不多说,直接说步骤了。
一.对PC(笔记本)参数进行配置
1. 配置fiddler允许监听到https(fiddler默认只抓取http格式的)
打开Fiddler菜单项Tools->TelerikFiddler Options->HTTPS,
勾选CaptureHTTPS CONNECTs,点击Actions,
勾选Decrypt HTTPS traffic和Ignore servercertificate errors两项,点击OK(首次点击会弹出是否信任fiddler证书和安全提示,直接点击yes就行),见图:
2.配置fiddler允许远程连接
上一步窗口中点击Tools->TelerikFiddler Options->Connections,勾选allow remote computers to connect,默认监听端口为8888(下图Fiddler listens on port就是端口号),若端口被占用可以设置成其他的,配置好后要重新启动fiddler,如下图:
点击完成之后,PC端配置完成,接下来开始配置手机端,以安卓为例,iOS方法同安卓;
二.对手机端进行参数配置
首先要保证手机和电脑都处于同一个网络;
然后要知道电脑的ip地址(当然这个电脑是安装fiddler的电脑),电脑ip地址可通过cmd,输入ipconfig查询,或网络共享中ipv4找到,我的是192.168.103.53,
再者要知道fiddler的端口号,Tools->TelerikFiddler Options->Connections,port中值就是端口号,一般默认为8888;接下来开始操作手机;
1.第一步:手机和电脑连接同一个网络,打开手机浏览器,输入http://ip:端口号,点击前往;见下图:
2.第二步:前往之后会跳转到证书下载页,见下图:
点击FiddlerRootcertificate下载证书;
3.第三步:点击下载之后,安装证书并起个名字,随便写就行,点击确定;
4.第四步:要求设置一个手机密码,自己设置一个,记住密码就行,最后不用了去系统-安全-密码中去掉即可;
5.第五步:更改手机无线网的代理
手机系统设置-无线网-点击高级,代理选择手动,主机名就是fiddler的电脑ip地址,端口号,就是fiddler的端口号,与浏览器中ip:端口号保持一致,点击确定即可,
6.操作手机,电脑fiddler中会显示一些http信息,成功;
三.其他
1.停止电脑对手机的网络监控
系统设置-wifi,找到代理,去掉即可;
2.删除手机中证书
安卓系统设置—安全—收信任的凭证—用户,点击证书删除即可;
3.删除手机上密码
手机系统—安全—密码,删除系统密码即可;
———————
本文来自 趣味小白猪 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/gld824125233/article/details/52588275?utm_source=copy
WordPress主题自动显示文章第一张图片代码
在修改主题的时候,我们可能需要WordPress自动获取文章第一张图片,在博客吧看到了相关的实现方法,记录一下,估计以后也用得到。
在当前使用的主题模板的functions.php文件<?php和?>之前添加以下代码
function catch_that_image() { global $post, $posts; $first_img = ''; ob_start(); ob_end_clean(); $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches); $first_img = $matches [1] [0]; if(empty($first_img)){ //Defines a default image $first_img = "/images/default.jpg"; } return $first_img; }
在当前主题模板的index.php文件的内容代码前或后添加以下代码
<?php echo catch_that_image() ?>
<?php if( $picurl = catch_first_image() ) : ?> <img width="100%" height="auto" src="<?php echo $picurl; ?>" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt=""/> <?php endif; ?>
PHP生成当前页二维码,方便手机访问。
思路:
1. 在当前页面中插入图片标签<img src=”qrcode.php”/>显示二维码
2.利用 $_SERVER[‘HTTP_REFERER’] 获取请求来源,获得当前页面url地址。
3.利用PHPqrcode.php类,生成二维码。
页面中插入img标签
<img src="qrcode.php"/>
qrcode.php代码:
<?php include 'phpqrcode.php'; $url_default = "http://www.lrxin.com"; $url = array_key_exists('HTTP_REFERER', $_SERVER) ? $_SERVER['HTTP_REFERER'] : $url_default; QRcode::png($url,false,'M',10,2); die();
常用封装curl函数httpGet() 、httpPost()
常用封装curl函数
PHP的curl查看header信息的功能(包括查看返回header和请求header)
1.参看返回header信息,需要设置
curl_setopt($ch, CURLOPT_HEADER, true); //返回response头部信息
在curl_exec($ch);返回接口的顶部 显示 返回header信息。
2.参看请求header信息,需要先设置
curl_setopt($ch, CURLINFO_HEADER_OUT, true); //TRUE 时追踪句柄的请求字符串,从 PHP 5.1.3 开始可用。这个很关键,就是允许你查看请求header
在执行curl请求(curl_exec($ch);)后,用过调用 curl_getinfo($ch, CURLINFO_HEADER_OUT); 函数返回
示例代码: