php学习笔记(二)

来源:互联网 发布:本科大数据毕业设计 编辑:程序博客网 时间:2024/05/22 03:47

10.全局变量

如果要在函数中使用全局变量,可以使用global关键字

$a=100;function set(){global $a;$a=10;}set();echo $a; //a=10


11.目录操作

$no1=disk_free_space("E:");//获取目录所在磁盘的可用空间,单位字节,整型数据

$no2=disk_total_space("E:");//获取目录所在磁盘的总大小,单位字节,整型数据

Unix系统为:$no1=disk_free_space("\");

bool chdir(string path);//改变当前目录,成功返回true;

 

dir是一个目录类,可以获得指定目录的基本属性信息

class dir{dir(string directory);//构造函数string path;//当前目录resource handles;//目录句柄 string read();//读取一个文件信息,并将句柄指向下一个文件void rewind();//重新初始化句柄,指向第一个文件void close();//关闭句柄}


例子:

$mydir=dir('C:\windows');echo("目录".$mydir->path."的子目录如下:\n");while(($entry=$mydir->read())!=FALSE){echo($entry."<BR>");}$mydir->close();
 

isdir($dir);//判定参数是否为目录

opendir($dir);//打开指定目录,返回目录句柄

readdir($handle);//依次返回目录下的文件名或目录名

rewinddir($handle);//重新初始化句柄

closedir($handle);//关闭句柄

例子

 

$dir='C:\windows';if(is_dir($dir)){if($dh=opendir($dir)){while(($file=readdir($dh))!==false)print "$file<BR>";closedir($dh);}}

bool mkdir($dir);//创建目录

bool rmdir($dir);//删除目录,目录为空时才能被删除

12.文件操作

basename(path [,suffix]);//返回路径中文件名的部分,如果pathsuffix结尾,则返回的文件名去掉suffix

dirname(path);//返回目录部分

$arr=pathinfo(path);//返回一个数组,$arr[‘dirname’]为目录名,$arr[‘basename’]为文件名,$arr[‘extension’]为扩展名

filesize(file);//返回文件大小

filetype(file);//返回文件类型

is_executable(file);//文件是否可执行

is_file(file);//文件名是否存在

is_readable(file);//文件是否可读

is_writable(file);//文件是否可

copy(source,dest);

unlink(file);//删除指定文件

rename(old,new);

bool file_exists(file);//文件是否存在

 

13.文件上传

选择文本域:

<form name="form1" method="post" action="upfile.php" enctype="multipart/form-data">//enctype上传文件的固定编码<input type="file" name="file1" style="width:80%" value="">//type="file":文本域,name:控件句柄<input type="submit" name="submit" value="上传">

 

upfile.php文件

$upload_dir=getcwd()."\\images\\";if(!is_dir($upload_dir))mkdir($upload_dir);$newfile=$upload_dir.mknewname();if(file_exists($_FILES['file1']['tmp_name'])){move_uploaded_file($_FILES['file1']['tmp_name'],$newfile);//上传的函数,$newfile为上传后的文件名(具体路径),人为设置echo "it's ok";}


使用全局变量$_FILES获取上传文件的信息。假设上传文本域的namefile1,

$_FILES[‘file1’][‘name’]:客户端上传文件的名称

$_FILES[‘file1’][‘type’]:文件的MIME类型,需要浏览器的支持

$_FIFES[‘file1’][‘size’]:文件大小

$_FILES[‘file1’][‘tmp_name’]:在服务器端保存的临时文件名

$_FILES[‘file1’][‘error’]:0表示成功

 

修改上传文件大小的限制:php.ini文件中upload_max_filesize项。

 

HTML中嵌入PHP

<img border='0' src="images/<?PHP echo $file;?>">


 

14、数据库操作

$conn=mysqli_connect($host,$user,$passwd,$database);//返回连接对象mysqli$connmysqli的一个实例,各种操作都有$conn完成

$conn->close();//操作完成后关闭

 

$conn->connect_error()//Returns the last error message string from the last call to mysqli_connect().An empty string if no error occurred. 

$n=$conn->connect_errno()//返回最近调用mysqli_connect()的错误integer code 0表示无错误

$conn->error;//error是一个属性值,没有()。返回最近mysqli调用的错误信息描述。若成功调用返回空值

$n=$conn->errno;//同上

 

$result=$conn->query($sql);//$sql为查询语句。成功返回true,失败返回false$sql若是select语句则返回结果集

$row=$result->fetch_row();//返回结果集的第一行记录,是一个数组。若$result为空,则返回NULL

$result->free();//释放结果集

bool $conn->multi_query($sql) mysqli_multi_query($sql);//可以一次执行多个SQL语句

//Returns FALSE if the first statement failed

$result=$conn->store_result();//取得一个结果集

$conn->next_result();//Prepare next result from multi_query

;

$sql="select ...;";$sql.="select ...;";if($conn->multi_query($sql)){do{if($result=$conn->store_result()){while($row=$result->fetch_row()){;}$result->free();}}while($conn->next_result());}


 

0 0