php教程 php手册 编程经验分享:平时积累的PHP技巧

编程经验分享:平时积累的PHP技巧

Jun 13, 2016 am 11:39 AM
php 그리고 공유하다 할 수 있다 대학 웹사이트 구축 기능 ~의 경험 프로그램 작성

  烈火建站学院转载 平时积累的PHP技巧,与大家分享,可能有一些很基础,但每个人都有大脑短路的时候,常拿出来翻翻也没有坏处......
如果有什么错误 希望指出,或是跟贴分享自己积累的技巧

PHP代码
public function GetIP(){
if (getenv("HTTP_CLIENT_IP")&& strcasecmp(getenv("HTTP_CLIENT_IP"),"unknown")) {
$ip = getenv("HTTP_CLIENT_IP");
}
elseif (getenv("HTTP_X_FORWARDED_FOR")&& strcasecmp(getenv("HTTP_X_FORWARDED_FOR"),"unknown")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
}
elseif (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) {
$ip = getenv("REMOTE_ADDR");
}
elseif (isset($_SERVER['REMOTE_ADDR'])&$_SERVER['REMOTE_ADDR']&strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) {
$ip = $_SERVER['REMOTE_ADDR'];
}
else
$ip = "unknown";
return($ip);
}


2、跳转

3、 /(^[0-9]|^[1-9][\d]{1,3})($|[\.][\d][1-9]$|[\.][1-9]$)/; 一个价格匹配的正则

4、js 取得 1-10的随机数 document.write(Math.floor(Math.random()*10+1)); //1-10随机数

5、mysql 取得随机记录 SELECT * FROM lzyblog_shop_category ORDER BY RAND() limit 5

6、js: onpropertychange当对象属性发生变化的时候触发事件

7、筛选出 年月出来的 SQL
SELECT regdate FROM `analyse_system` GROUP BY year( regdate ) + month( regdate ) ORDER BY `regdate` DESC
或是 SELECT regdate FROM `analyse_system` GROUP BY left(regdate,7) ORDER BY `regdate` DESC

8、strrev 字符串翻转

9、basename(__FILE__); 获得文件名称

10、implode(间隔符号,数组) explode(间隔符号,字符串)

11、加下划线的 CSS

asdfasdf

12、perl 的效率问题

1)处理文本文件,一般是逐行读入,在这样的循环里,绝不要使用外部shell命令,例如,假如要将分析内容写往其他文件,那么该老老实实的使用perl 自己的写文件句柄的方式,而不要使用shell的"echo $_ >;file"之类的命令,后者比前者慢10000倍。
2)在匹配正则表达式时,如果匹配里含有"&"字符,那么记得在前面加个"\"转义,否则perl会把匹配的内容复制一份以供以后参考,这导致程序其慢无比;
3)在匹配正则表达式时,尽量不要使用i选项(区分大小写),请将不区分大小写的区域尽量缩小,例如/ID=something\&/i,如果只对ID不分大小写的话,那么应该这么写:/[Ii][Dd]=something\&/,后者比前者快不止100倍;
4)在匹配正则表达式时,如果匹配项是固定不变的,那么请使用o选项,这表示只对正则表达式编译一次,例如/jsp/io比/jsp/i好很多。
5)while循环要比for/foreach循环效率高,
6)多用小括号,少用$&,$`,$'
7)多余多行匹配推荐用s/m修饰符,不推荐使用$*

13、linux修改时间
date -s 07/5/10 &&
date -s 09:28:00 &&
#clock -w

14、 checkdate 用 UNIX时间戳验证时间的正确性

15、cvs 的建立
环境设置:指定CVS库的路径CVSROOT

tcsh
setenv CVSROOT /path/to/cvsroot(指定CVS路径)
bash
CVSROOT=/path/to/cvsroot(指定CVS路径) ; export CVSROOT

初始化:CVS版本库的初始化。
cvs init

导入库
$ cd wdir(项目的目录)
$ cvs import -m "Imported sources" yoyodyne/rdir(期望在CVSROOT下的目录名) yoyo(作者) start
导入
$ cd ..
$ cvs checkout yoyodyne/rdir(项目名) # Explanation below
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법

PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? Feb 07, 2025 am 11:57 AM

PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까?

문자열로 모음을 계산하는 PHP 프로그램 문자열로 모음을 계산하는 PHP 프로그램 Feb 07, 2025 pm 12:12 PM

문자열로 모음을 계산하는 PHP 프로그램

코딩의 핵심: 초보자를 위한 Python의 힘 활용 코딩의 핵심: 초보자를 위한 Python의 힘 활용 Oct 11, 2024 pm 12:17 PM

코딩의 핵심: 초보자를 위한 Python의 힘 활용

Java Made Simple: 초보자를 위한 프로그래밍 능력 가이드 Java Made Simple: 초보자를 위한 프로그래밍 능력 가이드 Oct 11, 2024 pm 06:30 PM

Java Made Simple: 초보자를 위한 프로그래밍 능력 가이드

미래를 창조하세요: 완전 초보자를 위한 Java 프로그래밍 미래를 창조하세요: 완전 초보자를 위한 Java 프로그래밍 Oct 13, 2024 pm 01:32 PM

미래를 창조하세요: 완전 초보자를 위한 Java 프로그래밍

Python을 사용한 문제 해결: 초보 코더로서 강력한 솔루션 잠금 해제 Python을 사용한 문제 해결: 초보 코더로서 강력한 솔루션 잠금 해제 Oct 11, 2024 pm 08:58 PM

Python을 사용한 문제 해결: 초보 코더로서 강력한 솔루션 잠금 해제

See all articles