当前位置:首页 > PHP教程 > php文件操作 > 列表

PHP作用域和文件夹操作示例

发布:smiling 来源: PHP粉丝网  添加日期:2022-06-01 09:18:49 浏览: 评论:0 

1.作用域

1.1变量作用域

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

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

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

在函数内部访问全局变量

  1. <?php 
  2.  
  3. $num=10;  //全局变量 
  4.  
  5. function fun() { 
  6.  
  7.     echo $GLOBALS['num'];    //输出全局的$num 
  8.  
  9.  
  10. fun(); 

global关键字

  1. <?php 
  2.  
  3. $num=10; 
  4.  
  5. function fun() { 
  6.  
  7.     global $num;   //将全局变量的$num的地址引入到函数内部  相当于$num=&GLOBALS['num'] 
  8.  
  9.     echo $num;    //10 
  10.  
  11.     $num=100; 
  12.  
  13.  
  14. fun(); 
  15.  
  16. echo '<br>'
  17.  
  18. echo $num;    //100 

小结:

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

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

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

1.2静态变量(static)

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

静态变量只初始化一次

  1. <?php 
  2.  
  3. function fun() { 
  4.  
  5.     static $num=10;    //静态变量只初始化一次,调用完毕吧不销毁,第二次调用的时候就不再初始化 
  6.  
  7.     $num++; 
  8.  
  9.     echo $num,'<br>'
  10.  
  11.  
  12. fun();    //11 
  13.  
  14. fun();    //12 

常量和静态变量的区别:

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

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

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

1.3匿名函数use()

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

  1. <?php 
  2.  
  3. $num=10; 
  4.  
  5. $fun=function() use($num) {  //将$num引入到匿名函数中,引用多个变量时用逗号分隔开 
  6.  
  7.     echo $num;      
  8.  
  9. }; 
  10.  
  11. $fun();   //10 

2.文件夹操作:

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

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

2.2删除文件夹(rmdir())

  1. //remove:移除 
  2.  
  3. 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打开文件夹、读取文件夹、关闭文件夹

  1. $folder=opendir('./');    //打开目录 
  2.  
  3. //var_dump($folder);        //resource(3) of type (stream)  
  4.  
  5. while($f=readdir($folder)){    //读取文件夹 
  6.  
  7.     if($f=='.' || $f=='..'
  8.  
  9.         continue
  10.  
  11.     echo iconv('gbk','utf-8',$f),'<br>';  //将gbk转成utf-8 
  12.  
  13.  
  14. closedir($folder);        //关闭文件夹 

小结:

1、opendir()返回资源类型

2、每个文件夹中都有.和..

3、iconv()用来做字符编码转换

Tags: PHP作用域 PHP文件夹

分享到: