PHP
那年夏天KEEP
唯一幸运的就是喜欢这个行业
展开
-
PHP怎么与C语言通信
hb怎么与C语言通信?用C语言作为服务端,用php作为客户端。方法如下:/*server.c*/#include <string.h>#include <stdio.h>#include <netinet/in.h>#include <stdlib.h>#define SERV_PORT 8000int main(){ int sockfd,n,servaddr_len,client_l转载 2015-11-02 21:04:02 · 3374 阅读 · 0 评论 -
session_unset()和session_destroy()用法分析
关于session_unset()和session_destroy()的函数使用进行介绍。session_unset()释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的sessionidsession_destroy()删除当前用户对应的session文件以及释放sessionid,内存中的$_SESSION变量内容依然保留转载 2015-11-10 14:59:35 · 3358 阅读 · 0 评论 -
php curl常见错误:SSL错误、bool(false)
症状:php curl调用https出错 排查方法:在命令行中使用curl调用试试。 原因:服务器所在机房无法验证SSL证书。 解决办法:跳过SSL证书检查。 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 症状:php curl调用curl_exec返回bool(false),命令行curl调用正常。 排查方法: var_dump(cu原创 2015-11-10 10:37:57 · 1680 阅读 · 0 评论 -
php获取客户端IP
function GetIP(){ if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) $ip = getenv("HTTP_CLIENT_IP"); else if (getenv("HTTP_X_FORWARDED_FOR") &&转载 2015-11-09 19:58:46 · 325 阅读 · 0 评论 -
curl的安装
window下:开启curl的步骤1.在localhost站点下输出一下phpinfo,以此来检测php.ini的所在(因为我在开启CURL的时候,是在php的安装目录配置php.ini,结果一直不生效,后来查了phpinfo才知道php.ini在apache的配置文件里被我重定向了)2.打开php.ini文件,搜索php_curl.dll,找到后删除前面的“;”,重启apache3.如果转载 2015-11-10 01:19:16 · 719 阅读 · 0 评论 -
json_encode和json_decode的用法
json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode — 对 JSON 格式的字符串进行编码 说明 mixed json_decode ( string $json [, bool $assoc ] ) 接受一个 JSON 格式的字符串并且把它转换为 PHP 变量 参数 json 待解码的 jso转载 2015-11-10 14:31:47 · 2756 阅读 · 0 评论 -
字符的转换(php)
图解ASCII码对照表图,以字符A为例Dec表示十进制,如65Hx表示十六进制,如41Oct表示八进制,如101Char表示显示字符,如AASCII码对照表图分为两个单元1,控制字符 0-31和1272,可显示字符 32-126(1)48~57为0到9十个阿拉伯数字;(2)65~90为26个大写英文字母;(3)97~122号为26个小写英文字母;(4)其它标点符号、运算符号等;三原创 2015-10-09 15:35:50 · 522 阅读 · 0 评论 -
文件上传函数(有空会自己修改)
CODE <?php/** * A function for easily uploading files. This function will automatically generate a new * file name so that files are not overwritten. * Taken From: http://www.bin-co.com/php转载 2015-11-09 00:01:33 · 431 阅读 · 0 评论 -
检查字符串中是否有外链
<?php/** * all_external_link 检测字符串是否包含外链 * @param string $text 文字 * @param string $host 域名 * @return boolean false 有外链 true 无外链 */function all_external_link($text = '', $host = '') {转载 2015-11-07 10:00:09 · 405 阅读 · 0 评论 -
php发送get、post请求的几种方法
方法1: 用file_get_contents 以get方式获取内容<?php$url='http://www.domain.com/';$html = file_get_contents($url);echo $html;?>方法2: 用fopen打开url, 以get方式获取内容<?php$fp = fopen($url, 'r');//返回请求流信息(数组:请求状态,阻塞,返回值是转载 2015-11-09 21:29:32 · 464 阅读 · 0 评论 -
curl
使用PHP的cURL库可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网 页,然后就可以以程序的方式得到你想要的数据了。无论是你想从从一个链接上取部分数据,或是取一 个XML文件并把其导入数据库,那怕就是简单的获取网页内容,cURL 是一个功能强大的PHP库。PHP中的CURL函数库(Client URL Library Function) curl_close — 关闭转载 2015-11-09 21:52:18 · 346 阅读 · 0 评论 -
PHP函数 -ctype_alnum,
PHP函数 —— ctype_alnum//判断是否是字母和数字或字母数字的字符串组合if(!ctype_alnum($str)){ echo '只能是字母或数字的组合';exit;}整理下ctype functions:1.ctype_alnum(string $text)://检查是否是字母或数字或字母数字的 组合2.ctype_alpha(string $text):check原创 2015-10-12 17:13:06 · 2549 阅读 · 0 评论 -
10个典型实用的PHP代码片段
一、黑名单过滤function is_spam($text, $file, $split = ':', $regex = false){ $handle = fopen($file, 'rb'); $contents = fread($handle, filesize($file)); fclose($handle); $lines = explode("n"转载 2015-11-22 00:47:42 · 521 阅读 · 0 评论 -
根据key删除数组中指定的元素
php数组中元素的存在方式是以键值对的方式('key'=>'value'),有时候我们需要根据键删除数组中指定的某个元素。 function bykey_reitem($arr, $key){ if(!array_key_exists($key, $arr)){ return $arr; } $keys原创 2015-11-16 00:09:04 · 6929 阅读 · 0 评论 -
php性能优化
遇到性能问题一.什么情况下会遇到php性能问题?1. php语法使用不恰当2. 使用php语言做了其不擅长的事 3.使用php语言连接的服务不给力 4.php自身的短板 5.不知道问题 解决性能问题性能优化项目,不要局限于优化php一般php性能问题不到项目问题的一般一. Php的性能问题的解决方向Php语言级原创 2015-10-14 20:14:19 · 309 阅读 · 0 评论 -
php函数
usleep() 函数延迟代码执行若干微秒。unpack() 函数从二进制字符串对数据进行解包。uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID。time_sleep_until() 函数延迟代码执行直到指定的时间。time_nanosleep() 函数延迟代码执行若干秒和纳秒。sleep() 函数延迟代码执行若干秒。show_source() 函数对文件进行语法高亮显原创 2015-10-14 20:09:19 · 355 阅读 · 0 评论 -
Maximum execution time of 30 seconds exceeded
Maximum execution time of 30 seconds exceeded 错误解决方案.简单总结一下解决办法:报错一:内存超限,具体报错语句忘了,简单说一下解决办法。利用循环分批导入;每个循环内部开始处使用sleep(5);语句,做延迟执行,防止服务器内存同一时间占用过多,里面数字据情况修改;每个循环内部结束地方使用 ob_flush();刷新输出缓冲flush();将当前为转载 2015-10-14 10:50:11 · 601 阅读 · 0 评论 -
php函数
usleep() 函数延迟代码执行若干微秒。unpack() 函数从二进制字符串对数据进行解包。uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID。time_sleep_until() 函数延迟代码执行直到指定的时间。time_nanosleep() 函数延迟代码执行若干秒和纳秒。sleep() 函数延迟代码执行若干秒。show_source() 函数对文件进行语法高亮显原创 2015-10-14 20:07:09 · 299 阅读 · 0 评论 -
Windows下安装curl
最近分别在WIN7和Windows8 上分别安装php 高版本!都遇到了这个问题!一.win7系统32位, apache2.2, php5.2升级到5.4.这个比较容易:1. phpinfo发现没有加载curl;2. 在php.ini中设置extension_dir 指向e:\php5.4\ext; 部分php扩展加载了, 但curl仍不行。3. 设置windows系统环境变量, phpex原创 2015-10-14 20:12:28 · 1335 阅读 · 0 评论 -
ref.session.php
SESSION函数的详细介绍session_abort — Discard session array changes and finish sessionsession_cache_expire — 返回当前缓存的到期时间session_cache_limiter — 读取/设置缓存限制器session_commit — session_write_close 的别名session_decode原创 2015-10-28 10:33:34 · 515 阅读 · 0 评论 -
获取客户端ip
<?php//获取IPfunction get_ip() { if (isset($_SERVER)) { if (isset($_SERVER[HTTP_X_FORWARDED_FOR])) { $realip = $_SERVER[HTTP_X_FORWARDED_FOR];转载 2015-11-07 09:53:04 · 294 阅读 · 0 评论 -
php -- PDO预处理
可以使用多种方式实现预处理:指的是在绑定数据进行执行的时候,可以有多种方式。预处理语句中为变量使用数组指定预处理变量 1、准备预处理语句(发送给服务器,让服务器准备预处理语句) PDOStatement PDO::prepare:类似exec将一条SQL语句发送给Mysql服务器 //PDO::prepare 能够自动的准备一个预处理语句,用户需要准备的只是预处理所要执行的语句转载 2015-10-07 20:46:32 · 554 阅读 · 0 评论 -
PHP setcookie()用法
定义和用法setcookie() 函数向客户端发送一个 HTTP cookie。cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个 cookie。cookie 的名称指定为相同名称的变量。例如,如果被发送的 cookie 名为 "name",会自动创建名为 $user 的变量,包含 cookie 的值。转载 2015-10-06 03:50:15 · 745 阅读 · 0 评论 -
PHP过滤各种HTML标签
$str=preg_replace("/<\s*img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i", " ", $str); //过滤img标签$str=preg_replace("/\s+/", " ", $str); //过滤多余回车$str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后转载 2015-10-06 01:13:26 · 391 阅读 · 0 评论 -
文件上传类
<?php/* * 文件上传类 */class UploadFile { private $filepath; // 指定上传文件保存的路径 private $allowtype = array ( 'gif', 'jpg', 'png', 'jpeg' ); // 充许上传原创 2015-10-05 23:17:32 · 344 阅读 · 0 评论 -
php操作zip文件
<?php/* 使用方法* HZip::zipDir('yourlife', 'yourlife.zip');*/class HZip{ private static function folderToZip($folder, &$zipFile, $exclusiveLength) { $handle = opendir($folder); w原创 2015-10-05 23:13:49 · 661 阅读 · 0 评论 -
php文件下载函数
<?php/***Fil_download*$path 要下载的文件路径 *$type 要下载的文件类型*/function Fil_download($path,$type = 'zip'){ if(!file_exists($path)) { return false;原创 2015-10-05 23:10:02 · 298 阅读 · 0 评论 -
openssl证书数据加密和解密
<?php/***open ssl 的使用*Op_get_random_bytes() 随机生成指定长度的字符*加密和解密是相反的 公钥加密就要私钥解密(反之亦然)*Op_encrypt() 加密函数*Op_decrypt() 解密函数*Op_base64() 特殊字符和十进制字符的转化*//*原创 2015-10-05 23:07:47 · 1041 阅读 · 0 评论 -
Oct 12 PDOStatement::bindParam的一个陷阱
本文地址: http://www.laruence.com/2012/10/16/2831.html废话不多说, 直接看代码:$dbh = new PDO('mysql:host=localhost;dbname=test', "test"); $query = QUERY INSERT INTO `user` (`username`, `password`) VALUES (:us转载 2015-10-05 12:45:23 · 357 阅读 · 0 评论 -
array get_object_vars
array get_object_vars ( object obj )返回由 obj 指定的对象中定义的属性组成的关联数组。<?phpclass Point2D {var $x, $y;var $label;function Point2D($x, $y){$this->x = $x;$this->y = $y;}function setLabel($label){$this原创 2015-11-05 22:43:21 · 380 阅读 · 0 评论 -
curl
1.cURL介绍 cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。最爽的是, PHP也支持 cURL 库。本文将介绍 cURL 的一些高级特性,以及在PHP中如何运用它。2.基本结构 在学习更为复杂的功能之前,先来看一下在PHP中建立cURL请求的基本步骤: (1)初始化 curl_init() (2)设置变量转载 2015-11-05 11:44:11 · 285 阅读 · 0 评论 -
【php爬虫】
代码托管地址:https://github.com/hhqcontinue/zhihuSpider这次抓取了110万的用户数据,数据分析结果如下:开发前的准备安装Linux系统(Ubuntu14.04),在VMWare虚拟机下安装一个Ubuntu;安装PHP5.6或以上版本;安装MySQL5.5或以上版本;安装curl、pcntl、pdo扩展。使用PHP的curl扩展抓取页面数据PHP的curl扩转载 2015-10-06 01:29:28 · 332 阅读 · 0 评论 -
ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
前端HTML+JQuery 备注Jquery需要1.x版本,不能用2.x版本1.引入必要文件及上传input <load file="__PUBLIC__/js/jquery-1.11.3.min.js" /> <load file="__PUBLIC__/uploadify/jquery.uploadify.min.js" /> <load file="__PUBLIC__/uploa转载 2015-10-06 01:53:00 · 316 阅读 · 0 评论 -
PHP判断是否为手机客户端
<?function check_wap(){ if(stristr($_SERVER['HTTP_VIA'],"wap")){// 先检查是否为wap代理,准确度高 return true; }elseif(strpos(strtoupper($_SERVER['HTTP_ACCEPT']),"VND.WAP.WML") > 0){// 检查浏览器是否接受 WML转载 2015-10-06 02:45:15 · 356 阅读 · 0 评论 -
PHP获取文件夹内所有文件包括子目录文件的名称或路径
/** new getFile($_dir[,$_emptyDir,$_fileType]);* @parma $_dir 是目录名称* @parma $_emptyDir 是否获取空文件夹,选填,默认不获取,true则获取空文件夹* @parma $_fileType 获取文件名称的类型,选填,默认获取只文件名称,true则获取带有路径的文件名称**/class getFiles {原创 2015-10-06 02:39:38 · 1126 阅读 · 0 评论 -
php调用系统命令执行批处理文件
<?phpheader("Content-Type: text/html; charset=gb2312");function my_exec($cmd, $input=''){ $proc=proc_open($cmd, array(0=>array('pipe', 'r'), 1=>array('pipe', 'w'),原创 2015-10-05 23:31:15 · 4685 阅读 · 0 评论 -
纯PHP实现定时器任务(Timer)
定时器任务,在WEB应用比较常见,如何使用PHP实现定时器任务,大致有两种方案:1)使用Crontab命令,写一个shell脚本,在脚本中调用PHP文件,然后定期执行该脚本;2)配合使用ignore_user_abort()和set_time_limit(),使脚本脱离浏览器运行。前者是利用Linux的特性,和PHP本身没有多大关系,后者使用场景有限,且只能由一次HTTP请求触发该脚本,执行完后退出转载 2015-10-06 04:07:40 · 419 阅读 · 0 评论 -
PDO
php链接数据库 半年后需要更换mysql为集群模式或者有钱了升级oracl数据库,这时的改动相当大,成本高。如果再之前使用PDO,之后再遇见这样的问题就很轻松。开启PDO:打开php.ini文件,将需要打开的dll扩展件前面的“;”去掉。;extension=php_pdo_firebird.dll;extension=php_pdo_mysql.dll;extension=php_pdo_oci转载 2015-10-06 03:45:00 · 263 阅读 · 0 评论 -
Windows 64位下安装Redis详细教程
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 工具/原料Windows 64位操作系统Redis 安装包(当前教程版本2.8.12)方法/步骤在D盘新建文件夹【redis】,右键解压Redis ZIP包,把所有文件解压到redis文件夹中。(其他盘符也可以滴^_^)文件介绍:redis-benchma转载 2015-10-06 03:40:34 · 294 阅读 · 0 评论 -
DooDigestAuth php(后台)授权管理类 web浏览器授权
<?php/** * DooDigestAuth class file. * * @author Leng Sheng Hong <darkredz@gmail.com> * @link http://www.doophp.com/ * @copyright Copyright © 2009 Leng Sheng Hong * @license http://www.doop转载 2015-10-06 03:26:30 · 757 阅读 · 0 评论