PHP笔记随笔
1.CSS控制页面文字不能复制:
body{-webkit-user-select:none;}
2.【php过滤汉字和非汉字】
$sc="aaad....##--__i汉字过滤"; //iconv("UTF-8","GB2312",$sc);utf-8转码
echo $temp=eregi_replace("[^\x80-\xff]","",$sc); //保留汉字(过滤非汉字)
echo $temp=preg_replace("/[\\x80-\\xff]/","",$sc); //保留非汉字(过滤汉字),注意两条反斜线
3.查询数据库中某个字段中用逗号分隔的字符串是否包含用户传递的某个值,这样写SQL语句:
SELECT * FROM tb WHERE field LIKE '%,1' OR field LIKE '1,%' OR field LIKE '%,1,%' OR field = '1'
查询结果见图。不知道是否有更简单的方法,目前这样可行。感谢学敏!
4.PHP上传文件获取后缀名:
$temp_arr = explode(".", $upload_file_name);
$file_ext = array_pop($temp_arr);
$file_ext = trim($file_ext);
$file_ext = strtolower($file_ext); //$file_ext 文件的后缀
5.PHP获取图片尺寸大小
$arr=getimagesize("1.jpg");
echo $arr[0]."< br/ >"; //the width
echo $arr[1]; //the height
6.PHP:Deprecated: Function set_magic_quotes_runtime() is deprecated解决方案:
php.ini 修改:error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
7.echo $thisUrl=dirname('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']).'/../../';exit;
8.PHP 匹配多对中括号中的内容,如下:
$string = "这是[3]def[25]我的[26]想说的话[wer3][as][41]正则匹配!";
preg_match_all('/\[([a-z0-9]+)\]/', $string, $matches);
print_r($matches);
9.$qqContent='(页面内容)';
$pat = '/<div class="allnum">.+?<\/div>/';
$str=str_replace("\r", "",$qqContent);
$str=str_replace("\n", "",$str);
preg_match_all($pat, $str, $res);
提取数字用:
preg_match_all('/\d+/', $res[0][0], $nums);
print_r($nums[0][0]); //得到结果。
10.PHP获取当前页面的所有超链接:
$str = '(包含超链接的字符串)';
$pat = '/<a(.*?)href="(.*?)"(.*?)>(.*?)<\/a>/i';
preg_match_all($pat, $str, $m);
print_r($m); //其中$m[2]为超链接内容,$m[4]为超链接的标题。
11.Linux 解压
解压tar.bz2方法:tar -vxjf filename.tar.bz2
解压tar.gz 方法: tar zxvf filename.tar.gz
解压zip方法:unzip filename.zip
12.Linux 压缩当前目录下的文件夹:
tar -zcvf common.tar.gz common,此命令:压缩当前目录下的common文件夹
13.匹配图片路径:(如果源代码中有空格,先去掉“\r”和"\n",然后再匹配。)
$str=str_replace("\r", "",$content);
$str=str_replace("\n", "",$str);
$pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/";
preg_match_all($pattern,$str,$match);
print_r($match);
14.PHP中在远程路径(FTP)进行操作,比如创建文件夹:
$remote="ftp://username:password@www.baidu.com/test/txt";mkdir($remote, 0777, true );
意思即为:在baidu网站根目录创建目录 /test/txt...,其中username和password分别为当前网站的FTP登录账号和密码。
15.判断一个网络文件是否存在(兼容所有可能性):
function checkRemoteFileExists($file) {return (bool)fopen($file, 'rb');}
16.PHP判断一个远程文件是否存在:
$url = "http://url.cn/ERUKm9 ";
$fileExists = @file_get_contents($url, null, null, -1, 1) ? true : false;
echo $fileExists; //返回1,就说明文件存在。
17.PHP匹配图片路径:
preg_match_all("/<img.*src\s*=\s*[\"|\']?\s*([^>\"\'\s]*)/i",str_ireplace("\\","",$content,$arrs));
$arrs[1][0]就是图片的路径!
18.PHP中读取https请求协议的网页内容,有时候file_get_contents()会出错,比如这样的:$userinfo ='https://...';可以使用如下方法:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$userinfo);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1) ;
$string= curl_exec($ch); //file_put_contents('string.txt', $string);
19.PHP正则匹配一对中括号内的内容为空:
$ss="sdfghjfsd[url]88888888888888[/url]";
$ss = preg_replace('/\[url\S*\[\/url\]/', '', $ss);
echo $ss;
20.MySQL配置日志文件:
在MySQL安装目录下my.ini里面找到[mysqld],给里面加入log="E:/mysql_log.txt",然后重启Apache,重启MySQL服务即可。
21.MySQL获取日期的一些函数:
mysql获取上个月的当前时间:select date_sub(now(),interval 1 month) ;
获取上个月的第一天:select date_sub(date_sub(date_format(now(),'%y-%m-%d 08:00:00'),interval extract( day from now())-1 day),interval 1 month);
PHP笔记随笔的更多相关文章
- object - c 语言基础 进阶笔记 随笔笔记
重点知识Engadget(瘾科技)StackOverFlow(栈溢出)Code4Apprespon魏先宇的程序人生第一周快捷键: Alt+上方向键 跳到最上面 Alt+下方向键 跳到最下面 ...
- web笔记随笔
1.Web服务组件 8.第三方内容:广告统计.mockup 7.Web前端框架: HTML5. jQuery. Bootstrap 6.Web应用: CMS. BBS. Blog 5.Web开发框架: ...
- java笔记随笔
基本语法 编写Java程序时,应注意以下几点: 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的. 类名:对于所有的类来说,类名的首字母应该大写.如果类名由若干单词组 ...
- C#学习笔记随笔(1)----C#中static关键字的作用
静态分配的,有两种情况: 1. 用在类里的属性.方法前面,这样的静态属性与方法不需要创建实例就能访问, 通过类名或对象名都能访问它,静态属性.方法只有“一份”:即如果一个类新建有N个 对象,这N 个对 ...
- COCOS2D-HTML5 开发之二】cocos2d-html5项目定义成员,局部变量,函数笔记随笔
本站文章均为李华明Himi原创,转载务必在明显处注明:(作者新浪微博:@李华明Himi) 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/cocos2d- ...
- python,ctf笔记随笔
一.在centos虚拟机中安装pyhton3环境: 安装pip3:yum install python36-pip 将pip升级到最新版本:pip3 install --upgrade pip 运行p ...
- sql注入漏洞笔记随笔
sql注入是从1998年出现的,是一个十分常见的漏洞,它是OWASP top10的第一名(注入) 在了解sql注入之前,我们需要先了解web框架 webapp:web网站,这种方式它采用的是B/S架构 ...
- http笔记随笔
1.HTTP (HyperText Transfer Protocol)超文本传输协议(80端口) 1.规定浏览器和服务器之间相互通信的规则 2.万维网交换信息的基础 3.允许将HTML文档从Web服 ...
- Docker入门笔记
Docker入门笔记 随笔记录初学Docker遇到的问题, 以免下次再犯. 本机系统Ubuntu18.04 安装 Docker有2个版本 Community Edition (CE) 社区版(免费) ...
随机推荐
- Could not find class XXX referenced from method XXX.<YYY>
Since some ADT-Version you have to set which libraries / projects should be exported too. Project-Pr ...
- Centos 6.5系统下搭建Git服务器--失败历程
参考博客 http://www.51hei.com/bbs/dpj-28077-1.html http://www.linuxidc.com/Linux/2014-06/103885p2.htm ht ...
- 10 个顶尖的 Linux 开源人工智能工具
在这篇文章中,我们将介绍几个顶级的开源 Linux 生态系统的人工智能(AI)工具.目前,AI 是科学和技术中不断进步的领域之一,很多人都在致力于构建软件和硬件来解决诸如医疗,教育,安全,制造业,银行 ...
- javascript实例学习之一——联动下拉框
经常碰到这样的需求,如省市_城市_乡镇下拉框.后一个下拉框的内容会根据前一个的改变而改变,之前的解决方法往往是在前一个改变的时候,向后台发送请求临时获取对应的内容.这样每触发一次就会网络请求一次,这种 ...
- Eureka的故事,专注能让你看到别人看不到的事情
有这么一句古老的箴言: 如果你手里有一把锤子,所有东西看上去都像钉子. 其实这句话已经是老调中的老调重弹了,我们程序员有很多锤子:OO.设计模式.语言(C, C++, Java, Python, Ru ...
- 分布式环境下限流方案的实现redis RateLimiter Guava,Token Bucket, Leaky Bucket
业务背景介绍 对于web应用的限流,光看标题,似乎过于抽象,难以理解,那我们还是以具体的某一个应用场景来引入这个话题吧. 在日常生活中,我们肯定收到过不少不少这样的短信,“双11约吗?,千款….”,“ ...
- MYBATIS报ORA-01745: 无效的主机/绑定变量名 异常
异常:Cause: java.sql.SQLSyntaxErrorException: ORA-01745: 无效的主机/绑定变量名 原因,sql语句中,两个填充变量间没有写逗号.
- 到底UDP和TCP是什么个概念?
今天在论坛看到一牛人对tcp和udp的解释和区分,突然间恍然大悟. 以下全为拷贝. 在现实生活中,“要想富,先修路”:同时人总要“居有定所”,于是盖起了N多的房子.但是当你和同事商量好去做客的时候却发 ...
- GTA项目 三, 使用 bootstrap table展示界面,使得data和UI分离
/** bootstrap-table - v1.5.0 - 2014-12-12* https://github.com/wenzhixin/bootstrap-table* Copyright ( ...
- node.js中使用node-schedule实现定时任务
摘要:有时我们需要在每天的固定时间执行某个脚本,或者在某个固定时间执行某个任务.NodeJS中的 node-schedule 可以很好的实现定时任务. 1.安装 npm install node-sc ...