PHP作用域和文件夹操作
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; //
$num=100;
}
fun();
echo '<br>';
echo $num; //
小结:
1.$GLOBALS保存的是全局变量的所有的值
2.global用于创建一个全局变量的引用
3.常量是没有作用域的概念
1.2静态变量(static)
静态变量一般指的是静态局部变量
静态变量只初始化一次
<?php
function fun() {
static $num=10; //静态变量只初始化一次,调用完毕吧不销毁,第二次调用的时候就不再初始化
$num++;
echo $num,'<br>';
}
fun(); //
fun(); //
常量和静态变量的区别:
1.常量和静态变量都是初始化一次
2.常量不能改变值,静态变量可以改变值
3.常量没有作用域,静态变量有作用域
1.3匿名函数use()
默认情况下,函数内部不能访问函数外部的变量,但在匿名函数中,可以通过use将外部变量引入匿名函数中
<?php
$num=10;
$fun=function() use($num) { //将$num引入到匿名函数中,引用多个变量时用逗号分隔开
echo $num;
};
$fun(); //
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()用来做字符编码转换
PHP作用域和文件夹操作的更多相关文章
- [No000083]文件与文件夹操作
#region Folder option 文件夹操作 /// <summary> /// 指定目录是否存在 /// </summary> /// <param name ...
- PHP 文件夹操作「复制、删除、查看大小」递归实现
PHP虽然提供了 filesize.copy.unlink 等文件操作的函数,但是没有提供 dirsize.copydir.rmdirs 等文件夹操作的函数(rmdir也只能删除空目录).所以只能手动 ...
- .Net文件*夹*操作
一.文件夹操作 Directory类,DirectoryInfo类.使用using System.IO命名空间 (一)创建文件夹 方法一: private string path = @"F ...
- iOS开发——Swift篇&文件,文件夹操作
文件,文件夹操作 ios开发经常会遇到读文件,写文件等,对文件和文件夹的操作,这时就可以使用NSFileManager,NSFileHandle等类来实现. 下面总结了各种常用的操作: 1,遍 ...
- Python的文件与文件夹操作
Python的文件与文件夹操作 Python OS模块 1.重命名:os.rename(old, new) 2.删除:os.remove(file) 3.列出目录下的文件 :os.listdir(pa ...
- linux —— 学习笔记(文件、文件夹操作)
目录:1.常用的文件文件夹操作 2.文件属性的设置 1.常用的文件文件夹操作 mkdir 创建文件夹 -p 如果指定 a/b/c 时 a .b 不存在,一起创建出来 cp 复制文件或文件 ...
- c# 封装的文件夹操作类之复制文件夹
c# 封装的文件夹操作类之复制文件夹 一.复制文件夹原理: 1.递归遍历文件夹 2.复制文件 二.FolderHelper.cs /// <summary> /// 文件夹操作类 /// ...
- Python_文件与文件夹操作
''' os模块除了提供使用操作系统功能和访问文件系统的简便方法之外,还提供了大量文件与文件夹操作的方法. os.path模块提供了大量用于路径判断.切分.连接以及文件夹遍历的方法. shutil模块 ...
- 文件及文件夹操作- File类、Directory 类、FileInfo 类、DirectoryInfo 类
文件及文件夹操作: C/S:WinForm可以操作客户端文件 Client ServerB/S:Brower Server 命名空间:using system .IO; 1. File类: 创建:Fi ...
随机推荐
- Windows下使用virtualenv创建虚拟环境
操作系统 : windowns10_x64Python版本:3.6.8virtualenv版本:16.7.7virtualenvwrapper版本:1.2.5 方式一:直接使用virtualenv 1 ...
- SpringBoot2.0 整合 Dubbo框架 ,实现RPC服务远程调用
一.Dubbo框架简介 1.框架依赖 图例说明: 1)图中小方块 Protocol, Cluster, Proxy, Service, Container, Registry, Monitor 代表层 ...
- Actor模型(分布式编程)
Actor的目的是为了解决分布式编程中的一系列问题.所有消息都是异步交付的,因此将消息发送方与接收方分开,正是由于这种分离,导致actor系统具有内在的并发性:可以不受限制地并行执行任何拥有输入消息的 ...
- Go-包
Go-包 包的介绍以及使用 为什么使用包 为了更加好的维护代码 包的位置 必须再GOPATH路径的src中 能导入的内容 导入的内容名称必须是大写字母开头不然无法导入 包 src中的一个文件夹为一个包 ...
- javaWeb核心技术第三篇之JavaScript第一篇
- 概述 - JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言 - 作用:给页面添加动态效果,校验用户信息等. - 入门案例 - js和html的整合 - 方式1:内联式 ...
- 利用Azure虚拟机安装Dynamics 365 Customer Engagement之八:安装报表扩展及最新更新
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- HTML中特殊符号编码对照表,html特殊符号编码都有哪些?
HTML中一些无法打出来的符号可以用相应的代码进行代替显示,本文提供了一些HTML特殊符号相应的代码供开发者参考. 特殊符号 命名实体 十进制编码 特殊符号 命名实体 十进制编码 特殊符号 命名实体 ...
- OC代码规范小记
代码规范 一:基本代码命名 1.通用原则 尽量清晰又简洁,无法两全时清晰更重要,可读性优先级更高. insertObject:atIndex: 好的 insert:at 坏的 removeObject ...
- html-css___table属性(设置细线边框)
border-collapse 属性设置表格的边框是否被合并为一个单一的边框 //设置table实线边框 table,td{ /*边框合并*/ border-collapse: collapse; b ...
- sso单点登录系统的压力测试
环境:vmware centos7.4 2cpu 2核心 工具:ab压力测试工具 测试对象:sso单点登录系统 电脑:win10 4核 项目环境:flask+uwsgi+nginx(uwsgi 2进程 ...