欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP作用域和文件夹操作

程序员文章站 2022-03-12 16:16:01
1.作用域 1.1变量作用域 1.全局变量:在函数外面 2.局部变量:在函数里面,默认情况下,函数内部是不会访问函数外部的变量 3.超全局变量:可以在函数内部和函数外部访问 在函数内部访问全局变量 global关键字 小结: 1.$GLOBALS保存的是全局变量的所有的值 2.global用于创建一 ......

1.作用域

     1.1变量作用域

     1.全局变量:在函数外面

      2.局部变量:在函数里面,默认情况下,函数内部是不会访问函数外部的变量

      3.超全局变量:可以在函数内部和函数外部访问

      在函数内部访问全局变量

<?php
$num=10;  //全局变量
function fun() {
    echo $globals['num'];    //输出全局的$num
}
fun();

         global关键字

<?php
$num=10;
function fun() {
    global $num;   //将全局变量的$num的地址引入到函数内部  相当于$num=&globals['num']
    echo $num;    //10
    $num=100;
}
fun();
echo '<br>';
echo $num;    //100

          小结:

          1.$globals保存的是全局变量的所有的值

         2.global用于创建一个全局变量的引用

         3.常量是没有作用域的概念

         1.2静态变量(static)

         静态变量一般指的是静态局部变量

         静态变量只初始化一次

<?php
function fun() {
    static $num=10;    //静态变量只初始化一次,调用完毕吧不销毁,第二次调用的时候就不再初始化
    $num++;
    echo $num,'<br>';
}
fun();    //11
fun();    //12

            常量和静态变量的区别:

          1.常量和静态变量都是初始化一次

           2.常量不能改变值,静态变量可以改变值

           3.常量没有作用域,静态变量有作用域

           1.3匿名函数use()

          默认情况下,函数内部不能访问函数外部的变量,但在匿名函数中,可以通过use将外部变量引入匿名函数中

<?php
$num=10;
$fun=function() use($num) {  //将$num引入到匿名函数中,引用多个变量时用逗号分隔开
    echo $num;     
};
$fun();   //10

2.文件夹操作:

           2.1创建文件夹(mkdir(路径,权限,是否递归创建))

<?php
//1、创建目录
//mkdir('./aa');    //创建aa文件夹
//mkdir('./aa/bb');    //在aa目录下创建bb(aa目录必须存在)
mkdir('./aa/bb/cc/dd',0777,true);    //递归创建

               2.2删除文件夹(rmdir())

//remove:移除

rmdir('./aa/bb/cc/dd');    //删除dd文件夹

                注意:

              1、删除的文件夹必须是空的

              2、php基于安全考虑,没有提供递归删除。

              2.3重命名文件夹(rename(旧名字,新姓名))

rename('./aa','./aaa');    //将aa改为aaa

                2.4是否是文件夹(is_dir())

echo is_dir('./aaa')?'  是文件夹':'不是文件夹';

                 2.5打开文件夹、读取文件夹、关闭文件夹

$folder=opendir('./');    //打开目录
//var_dump($folder);        //resource(3) of type (stream) 
while($f=readdir($folder)){    //读取文件夹
    if($f=='.' || $f=='..')
        continue;
    echo iconv('gbk','utf-8',$f),'<br>';  //将gbk转成utf-8
}
closedir($folder);        //关闭文件夹

                 小结:

                1、opendir()返回资源类型
                2、每个文件夹中都有.和..
                3、iconv()用来做字符编码转换