PHP 去掉 utf8格式文件中的bom头部
例1
代码如下 | 复制代码 |
/** /** |
例2
如何将带有BOM文件的格式转换成无签名的UTF-8格式文件呢?下面分享给大家一段PHP代码:
代码如下 | 复制代码 |
<?php //此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除 $basedir="."; //修改此行为需要检测的目录,点表示当前目录 //以下不用改动 if ($dh = opendir($basedir)) { function checkBOM ($filename) { function rewrite ($filename, $data) {
|
例3
代码如下 | 复制代码 |
|
大陆内地可用的值是:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次为重庆,上海,乌鲁木齐)
港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)
还有新加坡:Asia/Singapore
其他可用的值是:Etc/GMT-8 ,Singapore ,Hongkong ,PRC
一,Linux设置时区,以CentOS5.5为例:
代码如下 | 复制代码 |
cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime |
2. MySQL中设置时区
编辑MySQL配置文件:my.cnf/my.ini,在[mysqld]下加上:
代码如下 | 复制代码 |
default-time-zone = '+8:00' |
实际上,如果MySQL所在OS的时区已经设置正确,则可以不用在MySQL中设置时区,因为MySQL服务启动的时候,会自动采用OS的时区。
3. PHP中设置时区
在PHP配置文件PHP.ini中:
代码如下 | 复制代码 |
date.timezone = "Asia/Shanghai" |
设置好后,最好重启下系统。
如果是购买的Web空间,没有权限在Linux PHP MySQL中配置时区。那也好办,只需要在PHP脚本中设置和OS对应的时区,因为MySQL中默认使用的是OS的时区。假设OS的时区是'Asia/Shanghai',使用下面两条语句其中之一即可:
代码如下 | 复制代码 |
ini_set('date.timezone', 'Asia/Shanghai'); date_default_timezone_set('Asia/Shanghai'); |
二,windows中我们要在PHP.INI中设置时区
代码如下 | 复制代码 |
date.timezone = PRC |
在代码中设置时区
代码如下 | 复制代码 |
2 date_default_timezone_set('Asia/Chongqing');//其中Asia/Chongqing'为“亚洲/重庆” 3 date_default_timezone_set('PRC');//其中PRC为“中华人民共和国” 4i ni_set('date.timezone','Etc/GMT-8'); 5 ini_set('date.timezone','PRC'); 6 ini_set('date.timezone','Asia/Shanghai'); 7 ini_set('date.timezone','Asia/Chongqing'); |
以上七种方法,任意一个都可以满足我们需求。
系统初始化时,加上
代码如下 | 复制代码 |
ini_set('date.timezone','Asia/Shanghai'); |
就将解决时区相差8
在php中文件file_put_contents函数是可以把我们字符串写入到文件中哦,这个与php fwrite文件有一点相同了,下面我来看看看file_put_contents用法与fwrite区别。PHP file_put_contents() 函数是一次性向文件写入字符串或追加字符串内容的最合适选择。
file_put_contents()
file_put_contents() 函数用于把字符串写入文件,成功返回写入到文件内数据的字节数,失败则返回 FALSE
例子:
代码如下 | 复制代码 |
<?php |
运行该例子,浏览器输出:
18
而 test.txt 文件(与程序同目录下)内容则为:This is something.。
提示
•如果文件不存在,则创建文件,相当于fopen()函数行为。
•如果文件存在,默认将清空文件内的内容,可设置 flags 参数值为 FILE_APPEND 以避免(见下)。
•本函数可安全用于二进制对象。
以追加形式写入内容
当设置 flags 参数值为 FILE_APPEND 时,表示在已有文件内容后面追加内容的方式写入新数据:
代码如下 | 复制代码 |
<?php |
执行程序后,test.txt 文件内容变为:This is something.This is another something.
file_put_contents() 的行为实际上等于依次调用 fopen(),fwrite() 以及 fclose() 功能一样。
那么到底file_put_contents与fwrite区别在哪里
如下为file_put_contents的实例代码:
代码如下 | 复制代码 |
<?php |
同样的功能使用fwrite的实例代码:
代码如下 | 复制代码 |
<?php |
从以上两个例子看出,其实file_put_contents是fopen、fwrite、fclose三合一的简化写法,这对程序代码的优化是有好处的,一方面在代码量上有所减少,另一方面不会出现fclose漏写的不严密代码,在调试、维护上方便很多。
上述例子里,file_put_contents是从头写入,如果要追加写入,怎么办呢?
在file_put_contents的语法里,有个参数FILE_APPEND,这是追加写入的声明。实例代码如下:
代码如下 | 复制代码 |
<?php |
FILE_APPEND就是追加写入的声明。在追加写入时,为了避免其他人同时操作,往往需要锁定文件,这时需要加多一个LOCK_EX的声明,写法如下:
代码如下 | 复制代码 |
<?php |
注意,以上代码中echo输出到显示器里的是写入文件字符串的长度
在php中常用的正则表达式包括了如电话号,邮箱,用户名,手机号,邮箱,密码,QQ号,身份证号码,空格,字母,数字等等这些正则表达试代码,下面我来整理一下。参考N+1个正则总结:
常见的正则匹配:
代码如下 | 复制代码 |
((11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|52|53|54|61|62|63|64|65)[0-9]{4})(([1|2][0-9]{3}[0|1][0-9][0-3][0-9][0-9]{3}[X0-9])|([0-9]{2}[0|1][0-9][0-3][0-9][0-9]{3})) |
匹配腾讯QQ号:[1-9][0-9]{4,}注:腾讯QQ号从10000开始
价格:/(^[-+]?[1-9]d*(.d{1,2})?$)|(^[-+]?[0]{1}(.d{1,2})?$)/
验证用户密码:"^[a-zA-Z]w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
中国邮政编码:[1-9]{1}(d+){5}
中国手机号码:(86)*0*13d{9}
掩码:
代码如下 | 复制代码 |
/^(254|252|248|240|224|192|128|0).0.0.0$|^(255.(254|252|248|240|224|192|128|0).0.0)$|^(255.255.(254|252|248|240|224|192|128|0).0)$|^(255.255.255.(254|252|248|240|224|192|128|0|255))$/ |
中国电话号码(包括移动和固定电话):((d{3,4})|d{3,4}-|s)?d{7,14}
正则表达式 "((d{3,4})|d{3,4}-)?d{7,8}(-d{3})*"(匹配形式如:0511-4405222 或者021-87888822 或者 021-44055520-555 或者 (0511)4405222)
中国身份证号码:
代码如下 | 复制代码 |
((11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|52|53|54|61|62|63|64|65)[0-9]{4})(([1|2][0-9]{3}[0|1][0-9][0-3][0-9][0-9]{3}[X0-9])|([0-9]{2}[0|1][0-9][0-3][0-9][0-9]{3})) |
匹配空格/空行:
匹配空行的正则表达式:n[s| ]*r
匹配首尾空格的正则表达式:(^s*)|(s*$)
匹配中文字符的正则表达式: [u4e00-u9fa5]
匹配数字:
只能输入数字:"^[0-9]*$"
整数或者小数:^[0-9]+.{0,1}[0-9]{0,2}$
只能输入至少n位的数字:"^d{n,}$"。
只能输入m~n位的数字:。"^d{m,n}$"
只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"
只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"
只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"
只能输入非零的正整数:"^+?[1-9][0-9]*$"
只能输入非零的负整数:"^-[1-9][]0-9"*$
只能输入长度为3的字符:"^.{3}$"
匹配字母:
只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"
只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"
只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"
只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"
只能输入由数字、26个英文字母或者下划线组成的字符串:"^w+$"
验证是否含有^%&',;=?$"等字符:"[^%&',;=?$x22]+"
下面附一些自己的正则表达式应用
代码如下 | 复制代码 |
function pregTP($test){ /** 电话号码匹配 电话号码规则: 区号:3到5位,大部分都是四位,北京(010)和上海市(021)三位,西藏有部分五位,可以包裹在括号内也可以没有 如果有区号由括号包裹,则在区号和号码之间可以有0到1个空格,如果区号没有由括号包裹,则区号和号码之间可以有两位长度的 或者- 号码:7到8位的数字 例如:(010) 12345678 或者 (010)12345678 或者 010 12345678 或者 010--12345678 */ $rule = '/^((((010)|(021)|(0d{3,4})))( ?)([0-9]{7,8}))|((010|021|0d{3,4}))([- ]{1,2})([0-9]{7,8})$/A'; preg_match($rule,$test,$result); return $result; } |
代码如下 | 复制代码 |
function pregURL($test){ /** 匹配url url规则: 例 协议://域名(www/tieba/baike...).名称.后缀/文件路径/文件名 http://www.111cn.net 协议://域名(www/tieba/baike...).名称.后缀/文件路径/文件名?参数 www.www.111cn.net 协议://域名(www/tieba/baike...).名称.后缀/文件路径/文件名/参数 http://www.111cn.net 协议:可有可无,由大小写字母组成;不写协议则不应存在://,否则必须存在:// 域名:必须存在,由大小写字母组成 名称:必须存在,字母数字汉字 后缀:必须存在,大小写字母和.组成 文件路径:可有可无,由大小写字母和数字组成 文件名:可有可无,由大小写字母和数字组成 参数:可有可无,存在则必须由?开头,即存在?开头就必须有相应的参数信息 */ $rule = '/^(([a-zA-Z]+)(://))?([a-zA-Z]+).(w+).([w.]+)(/([w]+)/?)*(/[a-zA-Z0-9]+.(w+))*(/([w]+)/?)*(?(w+=?[w]*))*((&?w+=?[w]*))*$/'; preg_match($rule,$test,$result); return $result; } |
代码如下 | 复制代码 |
function pregPOS($test){ /** 匹配邮编 规则:六位数字,第一位不能为0 */ $rule ='/^[1-9]d{5}$/'; preg_match($rule,$test,$result); return $result; } |
代码如下 | 复制代码 |
function pregCh($test){ //utf8下匹配中文 $rule ='/([x{4e00}-x{9fa5}]){1}/u'; preg_match_all($rule,$test,$result); return $result; } |
代码如下 | 复制代码 |
function pregTI($test){ |
代码如下 | 复制代码 |
function pregIP($test){ /** 匹配ip 规则: **1.**2.**3.**4 **1可以是一位的 1-9,两位的01-99,三位的001-255 **2和**3可以是一位的0-9,两位的00-99,三位的000-255 **4可以是一位的 1-9,两位的01-99,三位的001-255 四个参数必须存在 */ $rule = '/^((([1-9])|((0[1-9])|([1-9][0-9]))|((00[1-9])|(0[1-9][0-9])|((1[0-9]{2})|(2[0-4][0-9])|(25[0-5])))).)((([0-9]{1,2})|(([0-1][0-9]{2})|(2[0-4][0-9])|(25[0-5]))).){2}(([1-9])|((0[1-9])|([1-9][0-9]))|(00[1-9])|(0[1-9][0-9])|((1[0-9]{2})|(2[0-4][0-9])|(25[0-5])))$/'; preg_match($rule,$test,$result); return $result; } |
php Jquery 无刷新登录,自己写的一个很简单的
加了一个判断就是如果是已经登录的,刷新后还是显示的登录状态
登录页面文件
html页面
代码如下 | 复制代码 |
<script type="text/javascript" src="jquery-1.4.3.js" mce_src="jquery-1.4.3.js"></script> <script type="text/javascript"> $(document).ready(function(){ //DOM的onload事件处理函数 }); function postdata(){ //提交数据函数
|
发送到文件
代码如下 | 复制代码 |
<?php } ?> |
相关文章
- 下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
Jupyter Notebook读取csv文件出现的问题及解决
这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06- 有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
- JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成...2021-11-05
- 这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
- 这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
- 这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
- C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
php无刷新利用iframe实现页面无刷新上传文件(1/2)
利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25- 要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
- 又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
- 今天小编在这里就来给photoshop的这一款软件的使用者们来说下AI源文件转photoshop图像变模糊问题的解决教程,各位想知道具体解决方法的使用者们,那么下面就快来跟着小编...2016-09-14
- 步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
- 这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
- 本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
ant design中upload组件上传大文件,显示进度条进度的实例
这篇文章主要介绍了ant design中upload组件上传大文件,显示进度条进度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-29- 这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
- 举一个案例:复制代码 代码如下:<?phpclass Downfile { function downserver($file_name){$file_path = "./img/".$file_name;//转码,文件名转为gb2312解决中文乱码$file_name = iconv("utf-8","gb2312",$file_name...2014-06-07
- 这篇文章主要介绍了C#路径,文件,目录及IO常见操作,较为详细的分析并汇总了C#关于路径,文件,目录及IO常见操作,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 通常php.ini的位置在:复制代码 代码如下:/etc目录下或/usr/local/lib目录下。如果你还是找不到php.ini或者找到了php.ini修改后不生效(其实是没找对),请使用如下办法:1.新建php文件,写入如下代码复制代码 代码如下:<?phpe...2014-05-31