在这里插入代码片
8. 文件函数:
fileowner ( ) ; 返回文件拥有者用户id,只能在linux上运行
filesize ( 'phpindex.php' ) ; 返回文件大小,单位b
filetype ( 'phpindex.php' ) ; 返回是否是文件 是返回file or dir
file_exists ( 'phpindex.php' ) ; 根据目录(中文目录查不到),判断文件是否存在,存在显示1 ,不存在不显示
is_file ( 'phpindex.php' ) ; 判断是否是文件,显示1 ,不是不显示
is_dir ( 'phpindex.php' ) ; 判断是否是目录,显示1 ,不是不显示
is_readable ( 'phpindex.php' ) ; 判断可读,可以显示1 ,不可以不显示
is_writable ( 'phpindex.php' ) ; 判断可写,可以显示1 ,不可以不显示
is_writeable ( 'phpindex.php' ) ; 判断可读写,可以显示1 ,不可以不显示
is_executable ( 'phpin1dex.php' ) ; 判断可执行,可以显示1 ,不可以不显示;windows中. exe才判断可执行
basename ( $df ) ; 获取文件名
dirname ( $df ) ; 获取目录
mkdir ( '233333' ) ; 创建目录
rmdir ( '233' ) ; 删除目录
文件的读:
$变量= fopen(路径,模式);
r—》只读( 不能写入) ,r+ = 》读写打开文件 ( 指针在开头)
a- 》写入方式(不能读取,如果文件不存在则尝试创建之),a+ - > 读写方式打开 (指针在结尾)
w/ w+ 类似 但是打开前删除原来的数组,所以用的少,
fread(文件,读取字节数);读取文件信息
fgets(文件);一行一行输出
feof ( 变量) 检查指针是否到结尾
fclose ( ) 关闭打开的文件
$file = file ( 'qwe.txt' ) ; 获取文件信息变为数组,每行一个索引;
var_dump ( $file ) ;
fseek ( $a (这个读出来数据), 0 ) ;
$a = fopen ( 'qwe.txt' , 'r+' ) ;
while ( 1 ) {
echo fgets ( $a ) . '<br>' ;
if ( feof ( $a ) ) {
break ;
}
}
文件的写:
fwrite ( 文件,写入信息) 在文件(可以是绝对目录或者相对目录)中写入信息( 写入的信息可以是存有字符串的变量) ;
$c = fopen ( 'D:/xampp/apache/logs/error.log' , 'r+' ) ;
$a = fread ( $c , filesize ( 'D:/xampp/apache/logs/error.log' ) ) ;
var_dump ( $a ) ;
指定位置插入
$f = fopen ( "qwe.txt" , "r+" ) ; -- 》只能r+ ,a+ 默认最后,不能指定位置插入
fseek ( $f , 3 ) ; -- - 》在第三个位置后插入
fwrite ( $f , "while" ) ;
fclose ( $f ) ;
如果想在文档内容中间某个位置插入数据,不能使用a+ ,
append模式在写的时候默认将输入光标移动到文尾。只能使用r+
9. 自定义函数:
function 函数名(形式参数){
函数体;
return ;
}
函数名(实际参数); 函数名不区分大小写,包括系统自定义函数;不加$
function asd ( $a , $b ) {
print_r ( func_get_args ( ) ) ; -- - > 把传进来的所有参数,包括多余的,形成一个数组;
}
function asd ( $a = 1 , $b = 2 ) {
return $a + $b ;
}
echo asd ( ) ;
echo '<br>' ;
echo asd ( 11 ) ;
echo '<br>' ;
echo asd ( 11 , 11 ) ;
echo '<br>' ;
echo asd ( 11 , 11 , 22 ) ;
function qwe ( & $s ) {
$s + = 1 ;
return $s ;
}
$a = 11 ;
echo qwe ( $a ) ;
echo $a ; -- - > a 会随着s的值而变,应为$a = & $s
function asd ( ) {
echo 111 ;
}
$a = 'asd' ; -- - 》变量值和函数名相同,
$a ( ) ; -- - 》可以通过变量()来调用函数
10. 作用域:
变量的使用范围;分为全局和局部,
局部变量:定义在函数内的变量, 外面不能使用,使用会报错;
想要外面使用,可以return xx;
全局变量:定义在函数外面的变量; 在函数内部不能使用;
想要在内部使用,要在函数内事先申明:global 全局变量;引用后可以对其进行改变全局;
$ss = 111 ;
$a = 12 ;
function asd ( ) {
global $ss , $a ; -- > 想要在内部使用,要在函数内事先申明
$s = $ss + $a ;
return $s ;
}
echo asd ( ) ;
静态变量:只会被定义一次,不会被重置,类似全局变量
function add ( ) {
static $a = 1 ;
$a + = 1 ;
echo $a ;
}
add ( ) ; -- - 》第一次生成静态变量$a ,输出2
add ( ) ; -- - > 不会重置第一次的静态变量$a , 会继续使用,输出3
超全局变量
$GLOBALS -- > 个包含了全部变量的全局组合数组。变量的名字就是数组的键
$_POST -- - > 接受post请求的数据,是个数组(关联数组键值对,键是input标签里的name值,值是出入的值)
$_GET -- - > 接受get请求的数据,是个数组(关联数组键值对,键是input标签里的name值,值是出入的值)
$_REQUEST -- - > 接受get请求或者post的数据,是个数组(关联数组键值对,键是input标签里的name值,值是出入的值)
例子登录验证:
$user = $_REQUEST [ 'username' ] ;
$passwd = $_REQUEST [ 'password' ] ;
var_dump ( $_REQUEST ) ;
if ( $user == 'admin' && $passwd == 'admin' ) {
echo '登录成功' ;
} else {
echo '密码错误' ;
}
前端页面:
< ! DOCTYPE html>
< html lang= "en" >
< head>
< meta charset= "UTF-8" >
< title> Title< / title>
< / head>
< body>
< form action= "http://localhost:63342/htdocs/text.php" method= "get" >
< input type= "text" name= "username" > < br>
< input type= "password" name= "password" > < br>
< input type= "submit" value= "登录" >
< / form>
< / body>
< / html>