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()用来做字符编码转换

转载于:https://www.cnblogs.com/shineguang/p/10977034.html

PHP作用域和文件夹操作相关推荐

  1. php文件域的作用,PHP作用域和文件夹操作示例

    1.作用域 1.1变量作用域 1.全局变量:在函数外面 2.局部变量:在函数里面,默认情况下,函数内部是不会访问函数外部的变量 3.超全局变量:可以在函数内部和函数外部访问 在函数内部访问全局变量&l ...

  2. C++ :常用文件、文件夹操作汇总

    文件.文件夹操作 1.创建文件夹 2.创建文件 3.删除文件 4.删除文件夹 5.删除一个目录下所有的文件夹 6.清空文件夹 7.读取文件 8.写入文件 9.写入随机文件 10.读取文件属性 11.写 ...

  3. Python基础day07 作业解析【文件操作(文件读写、文件夹操作)】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day07[文件读写.文件夹操作.面向对象(类.对象)] 目录 加强训练 题目1 ...

  4. python的文件操作os_python文件、文件夹操作OS模块

    ''' 一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的 ...

  5. LeetCode 1598. 文件夹操作日志搜集器

    文章目录 1. 题目 2. 解题 1. 题目 每当用户执行变更文件夹操作时,LeetCode 文件系统都会保存一条日志记录. 下面给出对变更操作的说明: "../" :移动到当前文 ...

  6. python处理文件夹_python文件及文件夹操作

    1.open()各模式详情 'r'        以只读模式打开,没有write()方法,默认打开方式 'w'       以只写模式打开,文件不存在时会自动创建文件,文件已存在时会清除文件内容并重建 ...

  7. 文件、文件夹操作(I)

    遍历一个目录下的所有文件 首先我们获取用户文档目录路径 1 let manager = FileManager.default 2 let urlForDocument = manager.urls( ...

  8. PHP 文件夹操作「复制、删除、查看大小」递归实现

    PHP虽然提供了 filesize.copy.unlink 等文件操作的函数,但是没有提供 dirsize.copydir.rmdirs 等文件夹操作的函数(rmdir也只能删除空目录).所以只能手动 ...

  9. import java文件,java 文件夹操作,java文件夹,import java.

    java 文件夹操作,java文件夹,import java.import java.io.File; import java.io.FileInputStream; import java.io.F ...

  10. Python中文件操作和文件夹操作的学习笔记

    目录 1 前言 2 工作目录设置 设置工作目录: 获取当前运行文件目录 将工作目录重置为当前运行文件的父目录 遍历文件夹中所有的子文件(包含子文件.孙文件): 3 判断文件(夹)是否存在 4 文件读写 ...

最新文章

  1. zeroclipboard 粘贴板的应用示例, 兼容 Chrome、IE等多浏览器
  2. Ubuntu 下类似 Xshell 工具、更换阿里源
  3. MariaDB/MySQL从数据库中选择随机的行
  4. ArcGis License 启动失败
  5. C#和SqlServer中处理时间格式问题
  6. 绿联网卡转接mac设置_物联网卡这样设置一下上网全程4G!建议收藏!
  7. 二十八、接了一单Python北京空气质量数据处理
  8. c语言二级考试真题新疆,新疆自治区计算机二级C语言考试题库.doc
  9. (转)你的团队需要一个领袖,而不是一个主管
  10. Linux下9个有用的touch命令示例
  11. 动态规划——最大子段和(洛谷 P1115)
  12. Linux mint 14下的powerDNS+mysql+powerAdmin搭建个性DNS域名解析服务器
  13. ChatGPT爆火出圈,高质量文本标注数据成关键
  14. Kali Linux虚拟机——安装VPN客户端
  15. 完全教程 Aircrack-ng破解WEP、WPA-PSK加密利器
  16. fedora 25 安装字体
  17. 初级程序员 高级程序员_程序员的十大电影
  18. ppt资源的拖动插入方法
  19. MATLAB学习体会(来自小木虫)
  20. 使用mock.js提供模拟数据

热门文章

  1. Microsoft SQL Server Query Processor Internals and Architecture
  2. 安装双系统window +ubuntu
  3. git revert与git reset
  4. android工程下不能运行java main程序的解决办法
  5. VB INET控件的全部用法
  6. 如何解决Please ensure that adb is correctly located at......
  7. 经典排序算法(八)--选择排序Selection Sort
  8. 为什么使用close()关闭所打开文件
  9. vivo换手机云服务器,换新手机迁移数据很麻烦?这里两招教你快速迁移,有云服务不用愁...
  10. linux脚本定义量,Linux上增加自定义脚本的展现量