- 论坛徽章:
- 0
|
PHP学习笔记
PHP入门
一种服务器端的嵌入HTML的脚本语言。
php(PHP Hypertext Preprocessor)递归的缩写名称,超文本处理器。95年,第二版问世。97三版。
PHP3特征: 简单,速度快,跨平台,数据库支持,嵌入html,分析xml,文件存储,文 本处理,复杂变量,图象处理
PHP4特征: api扩充,布尔类型,com/dcom,兼容php3,配置,加密支持,多维数组, java交互支持,oo特点,zip文件处理。
PHP5特性: 00,XML,异常处理,支持web服务
嵌入式脚本:
安装PHP
安装GD图形库
tar -zxvf jpegsrc--xx
tar -zxvf libpng-xx
tar -zxvf gd-xx
安装Zend加速引
PHP语法结构
数值和字符串
可运算+-*/ 十进制 10 八进制 012 十六进制 0xa
符点数
888.8 科学计数 8.888e2=8.888*10 小数表示法:888.8
字符串
PHP字符串与C的char *不同,它比较象perl的字符串,php的字符传是由一块内存的首指针和内存长度共同表示的;而不象c语言一样只提供内存区的首指针,遇到"\0"符号就认为是字符串结束
位置,不用担心Buffer Overflow问题.
单引号串 "Hello World!" 'hi,"序号上一什么"'
双引号串 "Hello World!" "环境变量PATH=$PATH" 会显示PATH的结果
返引号 `必须是命令`
转移字符\n
符号 含义
\" 双引号
\\ 返斜线
\n 换行
\t 跳位(TAB) 表示8个字符
常量和变量
_FILE_ 这个默认常量是PHP程序文件名。
_LINE_ 这个默认常量是PHP程序的行数,若用inclue则引用文件的的该量
PHP_VERSION PHP程序版本
PHP_OS 指执行PHP解吸器的操作系统名称,
TRUE 真
FALSE 假
E_ERROR 最近的错误处
E_WARNING 最近的警告处
E_PARSE 解析语法有潜在问题处
PHP_VERSION,_LINE_,(程序行)
可以自己定义常量
define("COPYRIGHT","版权所有");
echo COPYRIGHT; 注意没有$表示常量
可以定义缓冲区大小: define('BUF_SIZE',1000)
定义变量
integer,在32位操作系统中,
double,为浮点型变量。1.7E-308到1.7E+308.
string字符串变量 $newline="换行了\n\n"
array为数组,可以是二维,三维 元素有string,integer,double,array.
object 为类变量,如:
class foo{
function do_foo{
echo "Dcoming foo.";
}
}
$bar = new foo;
$bar->do_foo();
布尔 1为true,0为flase
变量是区分大小写
局部变量,作用于函数
全局变量,作用于主程序
$GLOBALS 数组与global声明
例子: class foo{
function do_foo(){
echo "";
echo "";
echo "";
}
}
$bar = new foo(); //分配一个新的对象型函数
$bar -> do_foo();
系统定义好的变量
echo $PHP_SELF;
函数不区分大小写的
变量的变量 也可以引用函数指针
$a="Hello";
$$a="world"; //$Hello="world",
echo "$a,$Hello"; //Hello,world
echo "$a,${$a}"; //也是Hello,world
表单自动变量
隐式类型转换
静态变量
static myfunc(){
static $mystr;
$mystr.="哈"; //$mystr不会继续消失
echo $mystr."
";
}
myfunc(); //哈
myfunc(); //哈哈
myfunc(); //哈哈哈
例子 "
for($i=0;$i这是第".$i."行\n";
}
echo "";
?>
PHP函数库
系统函数
php函数库和C语言一样
函数原型:
反回类型 函数名称(类型 参数1,参数2,...)
如:
Sin函数
功能:计算正铉
语法 float sin(float arg)'
返回值 浮点数
系统函数
常用的数学函数
number abs(number) 去绝对值
float sin(float)
echo pow(2,3); //2的三次方
duble pi()圆周率
void srand(int) 配置随机数种子
void rand([int min],[int max]) 取随机数值
例子:
字符串函数
string strtolower(string str) 字符串全转为小写
string strtoupper(string str) 字符串全转为大写
string trim(string str) 截去字符串首尾的空格
string substr(string string,int start,int[length]) 取子串
//本函数将字符串string的第start位起的字符串取出length个字符串。若start为负数,则从字符串尾端算起。若可省略的参数length存在,但为负数,则表示取倒数第length个字符,下标从0开始
sub("abcdef",1,3); bcd
sub("abcdef",-2); ef
sub("abcdef",-3,1); d
sub("abcdef",1,-1); bcde
string strlen(string str) 取得字符串长度
int strpos(string 母串,string 待查字符,int [offset]) 寻找字符串中某字符最先出现处
int strcmp(string str1,string str2) 字符串比较
string md5(string string); //md5
文件系统函数
int filesize(string filename); 获得文件大小
int feof(int fp); 测试文件指针是否指到文件尾
int fopen(string filename,string mode); 打开文件或者URL
int fclose(int fp);关闭打开的文件
string fread(int fp,int n);读取文件n个字节,一次读好多字符
string fgets(int fp,int n);读得文件指针所指的行 ,适合欲读大的文件
本函数取得文件指针的行,返回字符串长度为行的长度减一。
例:
$fd = fopen("/usr/local/src/tools/myfile.txt","r")l
while ($buffer = fgets($fd,4096)){
echo $buffer;
}
fclose($fd);
int fwrite(int fp,string string,int[n]); 写入文件
int fputs(int fp,string str,int[n]); 写入文件
int mkdir(string pathname,int mode); 建立目录 mkdir("/tmp/mydir",0700);
int rmdir(string dirname); 删除目录
int rename(string oldname,string newname)改名
例子:
$fp = fopen("/home/admin/file.txt","r") // unix下的
$fp = fopen("c:\\tmp\\info.txt","r"); //需要转意字符,windows下的格式
$fp = fopen("
http://www.php.net","r
");
$fp = fopen(
ftp://user:passwd@audi.sailboy.com","w
");
filename = "/tmp/myfile.txt";
$fd = fopen($filename,"r");
$contents = fread($fp,filesize($filename));
fclose($fd);
mkdir("/tmp/mydir",0700); //创建文件夹
网络函数
int fsockopen(string hostname,int port,int[errno],string[errstr],int[timeout]);
打开网络的Socket联接
再使用本函数后会返回文件指针,供文件函数使用,包括fgets(),fgets(),fputs(),fclose()与feof().参数errno及errstr也是省略地,主要当作错误处理使用.
string gethostbyname(string hostname); DNS查询,返回IP网址
array gethostbynamel(string hostname); 返回机器名称的所有IP
如果一个机器有很都IP位置,适用本函数可以取得全部的IP地址,返回到数组中
//php得到DNS函数
";
for($i=0;i".$web[$i];
}
?>
Mysql数据库函数
int mysql_connect(string[hostname] [:post],string[username],string[password]);
mysql连结服务器连结
int mysql_select_db(string database_name,int[link_identifier]);选择一个数据库
int mysql_query(string query,int [link_identifier]); 执行sql串
int mysql_close(int [link_identifier]); 关闭mysql服务器连结
用户函数
声明函数 function myfunc($arg_1,$arg_2,...,$arg_n)
{
//执行一些步骤
reture $retval;
}
在使用时候,在自定的函数名称前要加如function的保留字,表示这是定义用户自定函数 ,之后,
参数的值,通常使用传值方式输入,也可以使用地址的方式,传入参数的指针(地址)
方法就是在参数的前面加上&符号即可.
参数的值,通常使用传值方式输入,也可以使用地址的方式,传如参数的指针.方法就是在参数的前面加上&符号即可.
例子
y = $y";
?>
y = $y";
?>
&于操作,
变量的作用域相当于全局变量
页面作用域,全局变量,加一个global
一个函数可以调用另一个函数
函数的递归 函数调用自己(注意死循环)
\n"
}
myfunc1(3,4);
myfunc1(6,6,"不用默认的值");
?>
PHP图象处理
背景,x轴,y轴,网格,正旋
用户函数
PHP发送邮件
mail函数linux系统必须安装有邮件服务器如sendmail,qmail或postfix
配置php的配置文件才能发送邮件
/usr/local/lib/php.ini
mail函数格式: mail(收件人,主题,内容,发信人信息) 它返回 true或false
mail("
sailzz@163.com
","主题","你好我的爱人民")
例子:
PHP计数器
程序代码:
米mian xinadf
PHP时钟
php的时间函数
date(),time(),strftime(),getdate()
时钟的设计
获得当前的时间
静态图形时钟
面向对象编程PHP5.01 全面支持面向对象
myPrint(); // ->表示引用,C++表示一个指针,不能做加减
?>
一个类定义了对象的属性和方法.类的属性和方法是被调用的成员
PHP5有一个单重继承的,限制访问的,可以从载的对象模型
另外php支持对属性和方法的限制性访问,你可以声明成员为private,不允许外部类访问,最后
允许一个子类从它的父
class Something{
//OOP类中,通常第一个字符为大写
var $x;
function setX($v){
//方法开始为小写,然后使用大写字母来分割单词。例如getValueOfArea()
$this->x=$v;
}
function getX(){
return $this->x;
}
}
数据成员使用var声明来定义,在给数据成员赋值之前,他们是没有类型的,一个数据成员可以是一个整数,一个数组,一个相关数组(associative array)或者是一个对象
方法在类中被定义成函数形式,载方法中访问类成员变量时,你因该使用$shis->name,否则对一个方法来说,它只能是局部变量
php文件上传
模版引型SMARATY
分离分工,杜绝重复
美工和程序的关系:
1,首先作好美工也面,然后由程序员直接在美工页面的HTML文件中嵌入asp,php
2,美工和程序同时进行,但这时因为没有页面框价,
PHP摸版即PHPlib的Template技术,
定义摸版文件 Mytemplate.html
...
...
... 内部的活动内容则以变量的形式存在,并等待被替换.
set_file("MyFileHandle","MyTemplate.html");
//设置MyFileHandle文件句柄向我们所要的摸版文件Mytemplate.html
?>
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/17645/showart_311612.html |
|