煮酒听雨
首页
PHP
MYSQL
WEB
Linux
关于本站
登陆
注册
(置顶)开发中常用功能知识点笔记
编辑时间:2017-04-19
编辑:忘尘
阅读:1790
#####1、如何修改SESSION的生存时间 ```php #Session 提供了一个函数 session_set_cookie_params() 来设置 Session 的生存期的,该函数必须在 session_start() 函数调用之前调用 session_set_cookie_params(24 * 3600); // 保存一天 session_start(); ... ``` #####2、PHP设置脚本最大执行时间的三种方法 方法一:在php.ini设置 ```linux max_execution_time = 180; ``` 方法二:通过PHP的ini_set函数设置 ```php ini_set("max_execution_time", "180"); ``` 方法三:通过set_time_limit 函数设置 ```php set_time_limit(180); ``` 注:以上几个数字设置为0则无限制,脚本会一直执行下去,直到执行结束 ```php set_time_limit(0); ``` #####3、设置中国时区 ```php date_default_timezone_set('PRC'); ``` #####4、常用写日志 file_put_contents(file,data,mode)写文件。如果文件不存在,则创建一个新文件。默认的是重新写文件,也就是会替换原先的内容,追加的话使用参数FILE_APPEND。 mode:LOCK_EX在写入时获得一个独占锁 FILE_APPEND 如果文件 filename 已经存在,追加数据而不是覆盖 ```php file_put_contents('/home/php/crontab/run.log', date('Y-m-d H:i:s')."\r\n", FILE_APPEND|LOCK_EX); ``` 换行不建议使用\r\n,因为:在windows中\r\n是换行,在Mac中\r是换行,在Liunx中\n是换行,但是PHP提供了一个常量来匹配不同的操作系统,即:PHP_EOL ```php file_put_contents("log.txt", "Hello world everyone.".PHP_EOL, FILE_APPEND); ``` 测试打印 ```php file_put_contents('/home/log/test.log', var_export($params, true)."\r\n", FILE_APPEND); ``` #####5、PHP开启错误信息 方法一:ini_set("display_errors","On"); 方法二:error_reporting(E_ALL); 注: ini_set("display_errors", "on")的权限大于error_reporting("E_ALL"),若display_error设置为OFF的话,error_reporting就算是E-ALL也没用 #####6、设置页面内容是html,编码格式是utf-8 ```php header("Content-Type:text/html; charset=utf-8"); ``` #####7、header跳转 ```php header("Location:http://www.baidu.com"); ``` #####8、当月第一天时间戳 ```php strtotime(date('Y-m-01', time())); ``` #####9、当月最后一天时间戳 ```php strtotime(date('Y-m-d', strtotime(date('Y-m-01', time()) . ' +1 month -1 day'))." 23:59:59"); ``` #####10、PHP脚本页面跳转 ```php echo "<script type='text/javascript'>location.href=' <a href="https://xxx.com/user.php?act=login'";">https://xxx.com/user.php?act=login'"; ``` #####11、使input文本框不可编辑的3种方法 - disabled 属性 被禁用的input元素,不可编辑,不可复制,不可选择,不能接收焦点,后台也不会接收到传值。disabled 属性无法与一起使用。 - readonly 属性规定输入字段为只读可复制,但是,用户可以使用Tab键切换到该字段,可选择,可以接收焦点,还可以选中或拷贝其文本。后台会接收到传值. readonly 属性可以防止用户对值进行修改。 - readonly unselectable="on" 属性跟disable类似,input 元素,不可编辑,不可复制,不可选择,不能接收焦点,但是后台可以接收到传值。 #####12、php获取数组中的第一个(最后一个)元素 - current() - 返回数组中当前元素值(即:返回当前被数组内部指针指向的元素的值)。 - reset() - 函数把数组的内部指针指向第一个元素,并返回这个元素的值。 - key() - 返回数组内部指针指向的元素的索引(即:键值)。 - end() - 函数将数组内部指针指向最后一个元素,并返回该元素的值。 ```php $arr = array( '1' => 'a', '2' => 'b', '3' => 'c', '4' => 'd', ); reset($arr); //如果确定数组的指针指向第一个元素,可以不使用本语句 方法一: echo current($arr); //值为:a 方法二:截取数组 $arrNew = array_slice($arr,0,1); echo $arrNew[0]; //值为:a 方法二:array_shift()弹出数组(会改变原数组的内容) echo array_shift($arr); //值为:a ``` #####13、清空(重置)表单 方法一: ```js document.getElementById("formID").reset(); ``` 方法二: ```js $('#formID')[0].reset(); ``` 注:这种方法无法清空带有默认值 vlue = "1"、 checked 、selected的表单input #####14、用PHP的json_encode来处理中文的时候, 中文都会被编码成Unicode ```php echo json_encode("中文");//"\u4e2d\u6587" ``` 解决方式是加上JSON_UNESCAPED_UNICODE(自 PHP 5.4.0 起生效。) ```php echo json_encode("中文", JSON_UNESCAPED_UNICODE);//中文 ``` #####15、json_encode格式的数据保存到MYSQL,数据中间带有 \ 解决方案(避免json_encode将中文转换unicode编码) 方法一:以字面编码多字节 Unicode 字符(默认是编码成 \uXXXX) ```php echo json_encode("中文", JSON_UNESCAPED_UNICODE); ``` 方法二:进一步转义"\"为"\\",避免unicode中文前'\'被mysql当成特殊字符去除 ```php echo addslashes(json_encode('中文')); ``` #####16、用php的strpos() 函数判断字符串中是否包含某字符串的方法 ```php if(strpos('www.baidu.com','baidu') !== false){ echo '包含'; }else{ echo '不包含'; } ``` #####17、清空SELECT下拉框项 ```js $("#selectList").find("option:not(:first)").remove(); $("#selectList").empty(); ``` #####17、记录代码块运行所需时间 ```php $start = microtime(true); ...代码块... $end = microtime(true); echo '需耗时'.round($end-$end,3).'秒'; ``` #####18、SQL update、insert与 select结合语句详解及应用 ```sql INSERT INTO table1 (c1, c2, c3) (SELECT v1, v2, v3 FROM table2) ``` ```sql UPDATE table1 alias SET (column_name,column_name ) = ( SELECT (column_name, column_name) FROM table2 WHERE column_name = alias.column_name) WHERE column_name = VALUE ``` #####19、PHP保留两位小数的几种方法 ```php //第一种:利用round()对浮点数进行四舍五入 echo round(100.128,2); //100.13 //第二种:利用sprintf()格式化字符串 echo sprintf("%.2f",100); //100.00 //第三种:利用千位分组来格式化数字的函数number_format() 不建议使用,但可作大金额数字格式化显示 echo number_format(100.128,2); //100.13 echo number_format("5000000"); //5,000,000 echo number_format("5000000",2); //5,000,000.00 echo number_format("5000000",2,",","."); //5.000.000,00 ``` #####20、PHP设置file_get_contents()超时参数方法 ```php $options = stream_context_create(array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type:application/x-www-form-urlencoded', 'content' => $data, 'timeout' => 10 //设置一个超时时间,单位为秒 ) )); file_get_contents($url, false, $options); ``` stream_context_create( )作用:创建并返回一个文本数据流并应用各种选项,可用于fopen(),file_get_contents()等过程的超时设置、代理服务器、请求方式、头信息设置的特殊过程。 #####21、PHP中设置时区方法 ```php //第一种:修改php.ini配置文件(永久设置) date.timezone=PRC //第二种:使用函数(临时设置,要求PHP5以上) date_default_timezone_set('PRC'); 或 ini_set('date.timezone', 'Aisa/Shanghai'); ``` 注:Aisa/Shanghai和PRC都代表为北京时间时区。 #####22、array_filter( )过滤数组中的空值, 与array_unique( )组合array_filter(array_unique($arr))可去掉数组中空值,重值 ```php $arr = array('a'=>1,'b'=>0,'c'=>'','d'=>null,'e'=>5,'f'=>false); print_r(array_filter($arr)); Array ( [a] => 1 [e] => 5 ) ``` #####23、++ 与 -\- 1. 递增/递减不影响**<font color = 'red'>布尔值</font>** 2. 递减 <font color = 'red'>UNLL</font>没有效果 3. 递增 <font color = 'red'>NULL</font>为 1 #####23、正则将字符串中多个空格替换成一个空格 ``` $newStr = preg_replace('/\s+/',' ',trim($str)) ``` #####24、Select下拉框onchange事件获取option的value值 ```html <!--方法一:使用js onchange事件 --> <select id="selectType" name="type" οnchange="showValue(this.options[this.options.selectedIndex].value)"> <option value="0">请选择分类</option> <option value="1">1</option> <option value="2">2</option> </select> select onchange时获取option的value值: this.options[this.options.selectedIndex].value ``` ```js //方法二:使用jquery 中change动态获取 $("#selectType").change(function () { $("#selectType option:selected").val(); //获取选中项的值 $("#selectType option:selected").text(); //获取选中项的文本 }); ``` #####25、判断网站是http 还是 https ```js //js <script> var ishttps = 'https:' == document.location.protocol ? true : false; </script> ``` ```php //php function is_ssl() { if(isset($_SERVER['HTTPS']) && ('1' == $_SERVER['HTTPS'] || 'on' == strtolower($_SERVER['HTTPS']))){ return true; }elseif(isset($_SERVER['SERVER_PORT']) && ('443' == $_SERVER['SERVER_PORT'] )) { return true; } return false; } ``` #####26、jQuery 判断 id 或元素是否存在 ```js if ($('#idName').length > 0) { // 存在 } ``` #####27、js把字符串(yyyymmdd)转换成日期格式(yyyy-mm-dd) ```js var dateString = '19930701'; var pattern = /(\d{4})(\d{2})(\d{2})/; var formatedDate = dateString.replace(pattern, '$1-$2-$3'); var r="20112233".replace(/^(\d{4})(\d{2})(\d{2})$/, "$1-$2-$3") ```
来说两句吧
提交评论
最新评论
我的标签
函数
面试
REDIS
LNMP
验证
时间
JS
LINUX
CPA
常量
MYSQL
备份
微信
文件
压缩
优化
SVN
PHP
集合
数组
HTML
收藏
NGINX
配置
日志
性能
加密
下载
FORM
WEB
样式
SQL
表单
配置,面试,REDIS
编码
ARRAY
替换
截取
密码
版本
进程
定时
测试
事务
数据
权限
安全
防火墙
索引
设计模式
安全,面试
缓存
热文排行
LNMP状态管理命令
navicat for mysql 导入xlsx,
(置顶)开发中常用功能知识点笔记
(置顶)收藏优秀分享文章集合
PHP加密解密算法(Discuz!经典代码)
PHP 获取数组第一个元素或最后一个值
Nginx配置 nginx.conf 文件中常用配
MySQL错误日志 [Warning] IP ad
Redis持久化:快照(RDB)和AOF简解
浅析SQLmap
随机文章
友情链接
官方手册
thinkphp
php扩展
Linux命令
lnmp
PHP中文网
鸟哥Linux私房
Nginx中文文档
json格式化
Redis手册
composer中文文档
CentOS下载
流程图
VPN代理
菜鸟网
奇淼教程
首页
PHP
MYSQL
WEB
Linux
关于本站
登陆
注册