PHP获取文件夹大小函数的方法介绍
- 格式:pdf
- 大小:161.46 KB
- 文档页数:5


ThinkPHP内置函数详解D、F、S、C、L、A、I 单字母函数D、F、S、C、L、A、I 他们都在ThinkPHP核⼼的ThinkPHP/Mode/Api/functions.php这个⽂件中定义.下⾯我分别说明⼀下他们的功能:D()加载Model类M()加载Model类A()加载Action类L()获取语⾔定义C()获取配置值⽤法就是 C("这⾥填写在配置⽂件⾥数组的下标")S()全局缓存配置⽤法S(“这⾥相当于⼀个唯⼀的标识”)F()快速⽂件数据读取和保存针对简单类型数据字符串、数组I()快速创建⼀个对象实例此处附带:ThinkPHP内置所有函数的原型定义1 <?php23/**4 * Think API模式函数库5*/67/**8 * 获取和设置配置参数⽀持批量定义9 * @param string|array $name 配置变量10 * @param mixed $value 配置值11 * @param mixed $default 默认值12 * @return mixed13*/14function C($name=null, $value=null,$default=null) {}1516/**17 * 加载配置⽂件⽀持格式转换仅⽀持⼀级配置18 * @param string $file 配置⽂件名19 * @param string $parse 配置解析⽅法有些格式需要⽤户⾃⼰解析20 * @return void21*/22function load_config($file,$parse=CONF_PARSE) {}2324/**25 * 抛出异常处理26 * @param string $msg 异常消息27 * @param integer $code 异常代码默认为028 * @return void29*/30function E($msg, $code=0) {}3132/**33 * 记录和统计时间(微秒)和内存使⽤情况34 * 使⽤⽅法:35 * <code>36 * G('begin'); // 记录开始标记位37 * // ... 区间运⾏代码38 * G('end'); // 记录结束标签位39 * echo G('begin','end',6); // 统计区间运⾏时间精确到⼩数后6位40 * echo G('begin','end','m'); // 统计区间内存使⽤情况41 * 如果end标记位没有定义,则会⾃动以当前作为标记位42 * 其中统计内存使⽤需要 MEMORY_LIMIT_ON 常量为true才有效43 * </code>44 * @param string $start 开始标签45 * @param string $end 结束标签46 * @param integer|string $dec ⼩数位或者m47 * @return mixed48*/49function G($start,$end='',$dec=4) {}5051/**52 * 获取和设置语⾔定义(不区分⼤⼩写)53 * @param string|array $name 语⾔变量54 * @param string $value 语⾔值55 * @return mixed56*/57function L($name=null, $value=null) {}5859/**60 * 添加和获取页⾯Trace记录61 * @param string $value 变量62 * @param string $label 标签63 * @param string $level ⽇志级别64 * @param boolean $record 是否记录⽇志65 * @return void66*/67function trace($value='[think]',$label='',$level='DEBUG',$record=false) {} 6869/**70 * 编译⽂件71 * @param string $filename ⽂件名72 * @return string73*/74function compile($filename) {}7576/**77 * 获取输⼊参数⽀持过滤和默认值78 * 使⽤⽅法:79 * <code>80 * I('id',0); 获取id参数⾃动判断get或者post81 * I('','','htmlspecialchars'); 获取$_POST['name']82 * I('get.'); 获取$_GET83 * </code>84 * @param string $name 变量的名称⽀持指定类型85 * @param mixed $default 不存在的时候默认值86 * @param mixed $filter 参数过滤⽅法87 * @return mixed88*/89function I($name,$default='',$filter=null) {}9091/**92 * 设置和获取统计数据93 * 使⽤⽅法:94 * <code>95 * N('db',1); // 记录数据库操作次数96 * N('read',1); // 记录读取次数97 * echo N('db'); // 获取当前页⾯数据库的所有操作次数98 * echo N('read'); // 获取当前页⾯读取次数99 * </code>100 * @param string $key 标识位置101 * @param integer $step 步进值102 * @return mixed103*/104function N($key, $step=0,$save=false) {}105106/**107 * 字符串命名风格转换108 * type 0 将Java风格转换为C的风格 1 将C风格转换为Java的风格109 * @param string $name 字符串110 * @param integer $type 转换类型111 * @return string112*/113function parse_name($name, $type=0) {}114115/**116 * 优化的require_once117 * @param string $filename ⽂件地址118 * @return boolean119*/120function require_cache($filename) {}121122/**123 * 区分⼤⼩写的⽂件存在判断124 * @param string $filename ⽂件地址125 * @return boolean126*/127function file_exists_case($filename) {}128129/**130 * 导⼊所需的类库同java的Import 本函数有缓存功能131 * @param string $class 类库命名空间字符串132 * @param string $baseUrl 起始路径133 * @param string $ext 导⼊的⽂件扩展名134 * @return boolean135*/136function import($class, $baseUrl = '', $ext=EXT) {}137138/**139 * 基于命名空间⽅式导⼊函数库140 * load('@.Util.Array')141 * @param string $name 函数库命名空间字符串142 * @param string $baseUrl 起始路径143 * @param string $ext 导⼊的⽂件扩展名144 * @return void145*/146function load($name, $baseUrl='', $ext='.php') {}147148/**149 * 快速导⼊第三⽅框架类库所有第三⽅框架的类库⽂件统⼀放到系统的Vendor⽬录下⾯150 * @param string $class 类库151 * @param string $baseUrl 基础⽬录152 * @param string $ext 类库后缀153 * @return boolean154*/155function vendor($class, $baseUrl = '', $ext='.php') {}156157/**158 * D函数⽤于实例化模型类格式 [资源://][模块/]模型159 * @param string $name 资源地址160 * @param string $layer 模型层名称161 * @return Model162*/163function D($name='',$layer='') {}164165/**166 * M函数⽤于实例化⼀个没有模型⽂件的Model167 * @param string $name Model名称⽀持指定基础模型例如 MongoModel:User168 * @param string $tablePrefix 表前缀169 * @param mixed $connection 数据库连接信息170 * @return Model171*/172function M($name='', $tablePrefix='',$connection='') {}173174/**175 * 解析资源地址并导⼊类库⽂件176 * 例如 module/controller addon://module/behavior177 * @param string $name 资源地址格式:[扩展://][模块/]资源名178 * @param string $layer 分层名称179 * @return string180*/181function parse_res_name($name,$layer,$level=1) {}182183/**184 * A函数⽤于实例化控制器格式:[资源://][模块/]控制器185 * @param string $name 资源地址186 * @param string $layer 控制层名称187 * @param integer $level 控制器层次188 * @return Controller|false189*/190function A($name,$layer='',$level='') {}191192/**193 * 远程调⽤控制器的操作⽅法 URL 参数格式 [资源://][模块/]控制器/操作194 * @param string $url 调⽤地址195 * @param string|array $vars 调⽤参数⽀持字符串和数组196 * @param string $layer 要调⽤的控制层名称197 * @return mixed198*/199function R($url,$vars=array(),$layer='') {}200201/**202 * 执⾏某个⾏为203 * @param string $name ⾏为名称204 * @param Mixed $params 传⼊的参数205 * @return void206*/207function B($name, &$params=NULL) {}208209/**210 * 去除代码中的空⽩和注释211 * @param string $content 代码内容212 * @return string213*/214function strip_whitespace($content) {}215216/**217 * 浏览器友好的变量输出218 * @param mixed $var 变量219 * @param boolean $echo 是否输出默认为True 如果为false 则返回输出字符串220 * @param string $label 标签默认为空221 * @param boolean $strict 是否严谨默认为true222 * @return void|string223*/224function dump($var, $echo=true, $label=null, $strict=true) {}226/**227 * URL重定向228 * @param string $url 重定向的URL地址229 * @param integer $time 重定向的等待时间(秒)230 * @param string $msg 重定向前的提⽰信息231 * @return void232*/233function redirect($url, $time=0, $msg='') {}234235/**236 * 缓存管理237 * @param mixed $name 缓存名称,如果为数组表⽰进⾏缓存设置238 * @param mixed $value 缓存值239 * @param mixed $options 缓存参数240 * @return mixed241*/242function S($name,$value='',$options=null) {}243244/**245 * 快速⽂件数据读取和保存针对简单类型数据字符串、数组246 * @param string $name 缓存名称247 * @param mixed $value 缓存值248 * @param string $path 缓存路径249 * @return mixed250*/251function F($name, $value='', $path=DATA_PATH) {}252253/**254 * 根据PHP各种类型变量⽣成唯⼀标识号255 * @param mixed $mix 变量256 * @return string257*/258function to_guid_string($mix) {}259260/**261 * XML编码262 * @param mixed $data 数据263 * @param string $root 根节点名264 * @param string $item 数字索引的⼦节点名265 * @param string $attr 根节点属性266 * @param string $id 数字索引⼦节点key转换的属性名267 * @param string $encoding 数据编码268 * @return string269*/270function xml_encode($data, $root='think', $item='item', $attr='', $id='id', $encoding='utf-8') {} 271272/**273 * 数据XML编码274 * @param mixed $data 数据275 * @param string $item 数字索引时的节点名称276 * @param string $id 数字索引key转换为的属性名277 * @return string278*/279function data_to_xml($data, $item='item', $id='id') {}280281/**282 * session管理函数283 * @param string|array $name session名称如果为数组则表⽰进⾏session设置284 * @param mixed $value session值285 * @return mixed286*/287function session($name,$value='') {}288/**289 * Cookie 设置、获取、删除290 * @param string $name cookie名称291 * @param mixed $value cookie值292 * @param mixed $options cookie参数293 * @return mixed294*/295function cookie($name, $value='', $option=null) {}296297/**298 * 加载动态扩展⽂件299 * @return void300*/301function load_ext_file($path) {}302/**303 * 获取客户端IP地址304 * @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字305 * @return mixed306*/307function get_client_ip($type = 0) {}308310 * 发送HTTP状态311 * @param integer $code 状态码312 * @return void313*/314function send_http_status($code) {} 315316// 过滤表单中的表达式317function filter_exp(&$value) {}318319// 不区分⼤⼩写的in_array实现320function in_array_case($value,$array) {}。
PHP中读取大文件的方法在PHP中,读取大文件的方法可以通过以下几种方式实现:1. 使用`fopen(`和`fread(`函数逐块读取文件:可以使用`fopen(`函数打开大文件,并使用`fread(`函数逐块读取文件内容,直到文件结尾。
这种方法适用于大文件不适合一次性加载到内存的情况。
```php$file = fopen("largefile.txt", "r");while (($data = fread($file, 8192)) !== false)//处理读取的数据fclose($file);```2. 使用`file(`函数读取文件到数组:可以使用`file(`函数一次性将整个文件读取到一个数组中,每一行代表数组的一个元素。
这种方法适用于文件的行数较少,内容不会占用太多内存。
```php$lines = file("largefile.txt");foreach($lines as $line)//处理每一行数据```3. 使用`SplFileObject`类读取文件:可以使用`SplFileObject`类来处理大文件。
该类提供了一些方法来逐行或逐块读取文件内容,并且处理起来更加方便。
```php$file = new SplFileObject("largefile.txt");$file->setFlags(SplFileObject::READ_CSV);foreach($file as $row)//处理每一行数据```4. 使用`stream_get_line(`函数逐行读取文件内容:可以使用`stream_get_line(`函数逐行读取文件内容,并指定每次读取的行数。
这种方法适用于大文件的每行长度固定的情况。
```php$file = fopen("largefile.txt", "r");while (($line = stream_get_line($file, 8192, "\n")) !== false)//处理每一行数据fclose($file);```以上是几种常见的读取大文件的方法,选择适合你需求的方法可以提高程序的性能和效率。
php读取文件内容的方法和函数在PHP开发中,文件的读取是一项常见的工作。
从简单的查看文件内容,到复杂的读取形式,可以使用php文件读写函数来实现。
这一类函数一般称之为文件读写函数,主要有以下四类:1.件操作函数这类文件操作函数主要是用来处理文件和目录的,包括新建文件,重命名文件、删除文件、复制文件、移动文件、创建目录等,常见的file函数和dir函数都属于此类。
2.件类型函数这一类函数一般是用于检查表示文件类型的,比如检查文件是否是文本文件、图片文件等,常见的函数是filetype()、finfo_file()等函数。
3.件头信息函数这类函数是用来读取文件的头信息的,比如根据文件头检测文件类型、文件大小等,一般可以用于限制文件上传的格式和大小。
常见的函数有get_file_info()等。
4.件读写函数这类函数主要是用于读写文件内容的,比如读取文件内容、读取文件一行一行的内容、写入文件内容、有缓冲读写文件等,常见的函数有fread()、fwrite()、fgets()、fputs()等函数。
#### 一、文件操作函数1.建文件新建文件,可以使用fopen函数,其参数列表如下:```Resource fopen (string $filename, string $mode [, bool $use_include_path [, resource $context]]);```+ filename:需要操作的文件名+ mode:打开文件的模式+ use_include_path:是否使用include_path+ context:文件操作句柄假设我们要新建一个名为“test.txt”的文件,可以使用如下代码:```$fileName = test.txt$file = fopen($fileName,w //打开文件fclose($file); //关闭文件```在新建文件时,如果文件已经存在,则新建的文件会覆盖之前的文件,因此,一般新建文件前,需要先判断文件是否存在,使用file_exists函数来判断。
PHP取余函数介绍MOD(x,y)与x%y取余函数 PHP取余函数 PHP两个取余 MOD(x,y) x%yMOD例如:9/3,9是被除数,3为除数.mod函数是⼀个求余函数,其格式为:mod(nExp1,nExp2),即是两个数值表达式作除法运算后的余数。
那么:两个同号整数求余与你所知的两个正数求余完全⼀样(即两个负整数与两个正整数的算法⼀样)。
1.函数值符号规律(余数的符号)mod(负,正)=正mod(正,负)=负结论:两个整数求余时,其值的符号为除数的符号。
2.取值规律先将两个整数看作是正数,再作除法运算①能整除时,其值为0②不能整除时,其值=除数×(整商+1)-被除数例:mod(9,-8)=-7即:9除以8的整数商为1,加1后为2;其与除数之积为18;再与被数之差为7;取除数的符号。
所以值为-7。
取值规律:被除数-(整商×除数)之后在第⼀位⼩数位进⾏四舍五⼊。
例:mod(9,1.2)=1即:9除1.2其整商为7;7与除数1.2之积为8.4;8.4四舍五⼊之后为8;被除数9与8之差为1。
故结果为1。
例:mod(9,2.4)=0即:9除2.2其整商为4;4与除数2.2这积为8.8;8.8四舍五⼊之后为9;被除数9与9之差为0。
故结果为0。
OK,就这些不知能否满⾜您的需要?%复制代码代码如下:<?phpecho 15%4;//结果是 3复制代码代码如下:<?php$val=9.45;$result=$val*100;echo $result%100; //44>提问者奇怪,为什么上⾯输出的记过是44 ⽽不是想象中的45 ,如果你这样:echo 945%100 //45那么结果应该是45的,这是因为php默认对变量进⾏取整进⾏取余运算的。
然后看看下⾯的php代码:复制代码代码如下:<?php/** name: mckee* blog: */$val=9.45;$result=$val*100;echo intval($result); //这⾥输出944echo $result%100; //这⾥输出44echo fmod(floatval($result),100); //这⾥输出45>对于⼤整数,php会出现溢出,可能返回负数情况(这是因为php默认使⽤整数取余的,所以你要把它转换成float类型(如上))可以这样做:复制代码代码如下:function Kmod($bn, $sn){return intval(fmod(floatval($bn), $sn));}。