1.flock

  LOCK_EX 独占锁定

  LOCK_SH 共享锁定

  LOCK_UN 解除锁定

  LOCK_NB 锁定但不堵塞进程,直接返回false

2. fseek

   SEEK_CUR

   SEEK_END

     SEEK_SET

3、

function search($key,&$result){
$result=$key.'此种方法值得学习';
return true;
} if(search('123',$result)){
echo $result;
}
/*
* ① md5_file()要比get_headers()快很多
* ② global和$GLOBALS只能使用,但并不会改变原来的赋值
* ③ 递归思想的用处
* ④ register_shutdown_function()来模拟析构函数
* ⑤ set_error_handler() set_exception_handler() 接管的函数或者类都要加载错误出现之前
* ⑥ ini_set('display_errors','Off')的权限要大于error_reporting();
* ⑦ 代码技巧:先定义返回结果的格式,失败直接返回
* ⑧ sprintf: %u=>无符号十进制
%b=>二进制
%d=>有符号的十进制整数
%f=>浮点数
%s=>字符串
%x=>小写字母的十六进制
%X=>大写字母的十六进制
原理就是如何认为计算机里边的二进制数了,会把参数当作十进制
* 1)正负号,正号不用写,当不满足最小宽度的时候,从前边补0还是从后边补0
* 2)填充字元 0表示空格填充0 默认值是空格,表示空格就放着
* 3)总宽度(包括小数点),为最小宽度
* 4)(.)精确度
* 随心所欲的调用参数 “%1\$.2f %1\$f”(%1\$u 第一个参数,无符号十进制正数)
* ⑨ ip2long()不要忘了使用%u
* ⑩ substr_count($string,$serach[,$start,$length]) 检测一个字符串在另一个字符串中出现的次数
* 11) 用isset来替换array_key_exists
* 为初始化的变量、0、空、null、空数组、false、[没有任何属性的object]都为empty
* 重点 var = null 跟empty唯一不同的就是当变量为定义时,会抛出一个Notice
* 12) 如果php.int中的register_globals=On的话,所有的$_GET $_POST $_COOKIE $_SESSION 都将别注册成全局变量,通过$GLOBALS中,不建议开启
* 13) get_magic_quotes_runtime() 和 get_magic_quotes_gpc()
* 14) final关键字:如果类声明为final,则此类不允许继承,如果类中的方法声明为final,则此方法不允许覆盖
* 15) Exception
* class Exception{
* protected $message;
* protected $code=0;
* protected $file;
* protected $line;
*
* public function __construct($message=null,$code=0);
* final function getMessage();
* final function getFile();
* final function getLine();
* final function getCode();
* final function getTrace();
* final function getTraceAsArray();
*
* public function __toString();
* }
* 16) 静态变量只存在函数作用域内,也就是说,静态变量只存活在栈中,一般的函数内部变量在函数结束后就会释放,比如局部变量,但是
* 静态变量不会,也就是说下次在调用的时候,这个变量会保存起来
* 静态属性不属于那个实例,对任何实例都有效
*
* 17) htmlspecialchars($string[,ENT_COMPAT|ENT_QUOTES|ENTNOQUOTES]) 【这些都是针对单双引号的】
* ENT_COMPAT 尽编码双引号
* ENT_QUOTES 编码单双引号
* ENT_NOQUOTES 都不编码
*
* 18) pathinfo($fine[,option]) 返回文件路径信息
* PATHINFO_DIRNAME
* PATHINFO_BASENAME
* PATHINFO_EXTENSION
*
* 19) mb_strlen($str[,$encode]); 最好把encode加上
*
* 20) strtr($str,from,to) 或者 strtr($str,$array); 可以做个小的关键词库
*
* 21) explode('_',$str.2) 规定数组的最大长度
*
* 22) call_user_func_array(array('classname','method'),array('参数一','参数二',...))
* classname
* 可以为类名,此时就不再调用初始化函数
* 可以为类的实例化,$test=new test(); array(&$test,methodName),调用初始化函数
* 参数数组是一个索引数组,不会去按关联数组去匹配,不要太天真哦~~~
*
* 23)正则 (?=exp) 顺序肯定 (?<=exp) 逆序肯定 (?!exp) 顺序否定 (?<!exp) 逆序否定
* 匹配ABBABB的正则 [\d]+ ((?<n1>\d)(?<n2>[^\k<n1>])\k<n2>)\1 (如何不用分组名去捕获,我还是没写出来)
*/

4、

<?php
/* class Exception{
protected $message;
protected $code;
protected $file;
protected $line; function __construct($message[,$code]);
final function getMessage();
final function getCode();
final function getFile();
final function getLine();
final function getTrace();
final function getTraceAsArray();
public function __toString();
final private __clone();
}*/
// PDO 中包括三个预定义的类
// ① PDO
// exec($sql)
// query($sql)
// setAttribute(PDO::ERRMODE,PDO::ERRMODE_EXCEPTION);
// lastInsertId()
// prepare()
// beginTransaction()
// commit()
// rollBack()
// ② PDOStatment
// rowCount()
// fetch(PDO::FETCH_ASSOC|PDO::FETCH_BOTH|PDO::OBJ|PDO::NUM)
// fetchAll()
// bindParam()
// execute() // ③ PDOException
try{
$dsn='mysql:host=localhost;dbname=test';
$pdo=new PDO($dsn,'root','');
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
// $sql='insert article values("",1,2)';
// 执行一条sql,并返回影响的行数
// echo $pdo->exec('SET NAMES UTF8');
// query()执行一个sql,并返回结果集
// $query=$pdo->query($sql);
// rowCount() 返回sql执行后影响的行数
// $affected_rows=$query->rowCount();
// echo $last_id=$pdo->lastInsertId();
// $query=$pdo->query('select * from friends LIMIT 10');
// $result=$query->fetchAll(PDO::FETCH_ASSOC);
// print_r($result);
// $insert=$pdo->prepare('insert into article values("",?,?)');
// $insert->execute(array(1,2));
$sth=$pdo->prepare('select * from article where id=?');
$id=20;
$sth->bindParam(1,$id);
$sth->execute();
$result=$sth->fetch(PDO::FETCH_ASSOC);
print_r($result);
}catch(PDOException $e){
echo $e->getMessage();
}
?>

5、

为所有的连接加上target='_blank'

function contentTargetChange($content){
$pattern='/<[a|A][^>]*>/';
$count=preg_match_all($pattern,$content,$matches);
if($count>0){
try{
$str='';
$arr=preg_split($pattern, $content);
foreach($matches[1] as $key=>$value){
$value=preg_replace('/target=[^>|^ ]*/i','',$value);
$str.=$arr[$key].substr($value,0,-1).' target="_blank">';
}
if(count($arr)>$count){
$str.=array_pop($arr);
}
return $str;
}catch(Exception $e){
return $content;
}
}
return $content;
}

6)、

function dec2f($num){
$base='0123456789abcdef';
$result='';
do{
$result=$base[$num%16].$result;
$num=intval($num/16);
}while($num!=0);
return $result;
} function f2dec($num){
$map=array('0' => 0,
'1' => 1,
'2' => 2,
'3' => 3,
'4' => 4,
'5' => 5,
'6' => 6,
'7' => 7,
'8' => 8,
'9' => 9,
'a' => 10,
'b' => 11,
'c' => 12,
'd' => 13,
'e' => 14,
'f' => 15);
$len=strlen($num);
$result='';
for ($i=0; $i < $len; $i++) {
$result*=16;
$result=$result+$map[$num[$i]];
}
return $result;
}

php碎片的更多相关文章

  1. 扑面而来的碎片--图片3D炸裂效果初体验

    之前逛园子的时候看到 ChokCoco 的爆炸效果作品:[BOOM]一款有趣的Javascript动画效果 (大神英文有没有拼错呀←.←),觉得蛮有意思的,效果如下: 不过觉得这个爆炸效果还是偏软了一 ...

  2. IOS开发基础知识碎片-导航

    1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...

  3. Android 横竖屏+碎片的应用

    最终效果展示: 项目介绍: 通过碎片的方式显示标题列表和内容,其中也牵涉到横竖屏的知识 项目代码下载:http://files.cnblogs.com/files/Laopengblog/%E7%A2 ...

  4. 关闭电脑SSD的磁盘碎片整理

    小白往往会把机械硬盘时代的习惯带进固态硬盘时代,比如碎片整理.机械硬盘时代砖家最喜欢告诉小白:“系统慢了吧?赶紧碎片整理撒.”小白屁颠屁颠地整理去了.殊不知碎片整理对于SSD来说完全就是种折磨.这种“ ...

  5. PhotoShop算法原理解析系列 - 像素化---》碎片。

    接着上一篇文章的热度,继续讲讲一些稍微简单的算法吧. 本文来讲讲碎片算法,先贴几个效果图吧:             这是个破坏性的滤镜,拿美女来说事是因为搞图像的人90%是男人,色色的男人. 关于碎 ...

  6. 【笔记】科普createDocumentFragment() 创建文档碎片节点

    上一篇文章说到了动态添加文本节点的方法那如果我们要添加多个文本节点或者元素节点呢? 大家可能会想到用循环然后逐个逐个添加 但是别忘了js 还提供了创建一个文本碎片的方法 createDocumentF ...

  7. xfs磁盘(文件)碎片查看和整理

    网上有些帖子说XFS不用做碎片整理,其实是错误的.XFS用延迟写入等技术确实可以减少碎片的出现,但是如果服务器用了几年,并且文件操作比较频繁,还是会出现碎片的,应该整理.注意:在Debian中XFS相 ...

  8. Fragment碎片

    布局文件中添加碎片 1.在onCteate()方法中调用inflater.inflate()加载Fragment布局 2.在xml的<fragment>中需要显示指明碎片名称(androi ...

  9. javascript创建文档碎片节点

    在<javascript高级程序设计>一书的6.3.5:创建和操作节点一节中,介绍了几种动态创建html节点的方法,其中有以下几种常见方法: · crateAttribute(name): ...

  10. Oracle索引碎片检查及定期重建常用表的索引

    背景说明: 今天查阅书籍时,偶然间发现“在对某个索引行执行删除操作时,只是为该行增加了一个删除标记,这个索引行并不会释放它的存储空间,Insert产生的新的索引行也不能被插入到该位置.索引列的修改过程 ...

随机推荐

  1. Scrum三大角色特点

    灵感来自于一段冷笑话: 一天,一头猪和一只鸡在路上散步,鸡看了一下猪说,“嗨,我们合伙开一家餐馆怎么样?”,猪回头看了一下鸡说,“好主意,那你准备给餐馆起什么名字呢?”,鸡想了想说“餐馆名字叫火腿和鸡 ...

  2. android bitmap和数据流的互转

    Bitmap aa = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); InputStream input ...

  3. iOS-字符属性NSAttributedString描述

    /* 字符属性 字符属性可以应用于 attributed string 的文本中. NSString *const NSFontAttributeName;(字体) NSString *const N ...

  4. C++语言-06-文件操作

    C语言文件操作 C++语言是C语言的超集,是在C语言的基础上增加了面向对象的特性而创造出来的,最初被命名为带类的C.所以C++语言中包含了C语言的思想,如:C++语言中文件操作的原理与步骤与C语言基本 ...

  5. .NET(C#):await返回Task的async方法

    众所周知,async方法只可以返回void,Task和Task<T>. 对于返回void的async方法,它并不是awaitable,所以其他方法不能用await方法来调用它,而返回Tas ...

  6. windows server 远程连接设置

    1设置远程连接数修改 服务器安装了Windows Server 2008,现在要增加远程连接,开启服务器上的远程桌面连接,使用管理员账户远程登录.默认情况下Windows Server 2008允许一 ...

  7. EF框架学习手记

    转载: [ASP.NET MVC]: - EF框架学习手记 1.EF(Entity Framework)实体框架EF是ADO.NET中的一组支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架 ...

  8. EasyUi 改变 selelct 的 下拉内容 div 的高度

    直接上 效果图: 修改之后的  滚动条高度: 代码:  源代码下载

  9. coursera机器学习-支持向量机SVM

    #对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...

  10. Linux磁盘管理之创建磁盘分区05

    一.磁盘基础知识 磁盘安装在计算机上后,在系统读取到硬盘后并不能直接使用,必须经过分区.格式化才能够正确使用.这一次主要是针对磁盘分区进行简单总结,存储设备类型:U盘.光盘.软盘.硬盘.磁带. 硬盘接 ...