PHP 教程 在线

852PHP scandir() 函数

function my_scandir($path='',$sort=0,$file_ext='') {

  $files = scandir($path,$sort);

  $return=array();

  if(!empty($files)){

    $filter = array(".","..");

    foreach($files as $key=>$file){

      if(!in_array($file,$filter)){

        if(empty($file_ext)){

          $return[$key] = $file;

        }else{

          $finfo = pathinfo($file);

          if(!empty($finfo["extension"]) && ($finfo["extension"]==$file_ext)){

            $return[$key] = $file;

          }

        }        

      }

    }

  }

}

851PHP file_put_contents() 函数

file_put_contents (PHP 5, PHP 7)

file_put_contents — 将一个字符串写入文件

函数原型说明

file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] ) : int

和依次调用 fopen(),fwrite() 以及 fclose() 功能一样。

If filename does not exist, the file is created. Otherwise, the existing file is overwritten, unless the FILE_APPEND flag is set.

参数filename要被写入数据的文件名。

data要写入的数据

类型可以是 string,array 或者是 stream 资源(如上面所说的那样)。

如果 data 指定为 stream 资源,这里 stream 中所保存的缓存数据将被写入到指定文件中,这种用法就相似于使用 stream_copy_to_stream() 函数。

参数

data 可以是数组(但不能为多维数组),这就相当于 file_put_contents($filename, join('', $array))。

flags 的值可以是 以下 flag 使用 OR (|) 运算符进行的组合。

Available flags Flag     描述

FILE_USE_INCLUDE_PATH     在 include 目录里搜索 filename。 更多信息可参见 include_path。

FILE_APPEND     如果文件 filename 已经存在,追加数据而不是覆盖。

LOCK_EX 在写入时获得一个独占锁。

context 一个 context 资源。

返回值

该函数将返回写入到文件内数据的字节数,失败时返回FALSE

Warning

此函数可能返回布尔值 FALSE,但也可能返回等同于 FALSE 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用 === 运算符来测试此函数的返回值。

850PHP filesize() 函数

filesize (PHP 4, PHP 5, PHP 7)filesize — 取得文件大小

filesize ( string $filename ) : int 取得指定文件的大小

参数filename文件的路径

返回值 返回文件大小的字节数 如果出错返回 FALSE 并生成一条 E_WARNING 级的错误。

因为 PHP 的整数类型是有符号整型而且很多平台使用 32 位整型 对 2GB 以上的文件 一些文件系统函数可能返回无法预期的结果

Example #1 filesize() 例子

<?php

// 输出类似:somefile.txt: 1024 bytes

$filename = 'somefile.txt';

echo $filename . ': ' . filesize($filename) . ' bytes';

?>

错误/异常 失败时抛出E_WARNING警告。

此函数的结果会被缓存 参见 clearstatcache() 以获得更多细节

Tip 自 PHP 5.0.0 起, 此函数也用于某些 URL 包装器

请参见 支持的协议和封装协议以获得支持 stat() 系列函数功能的包装器列表

848PHP preg_match() 函数

Delimiter must not be alphanumeric or backslash 解决

Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in

正则表达式没有加左右侧的斜线

844PHP preg_replace() 函数

php去除空格

$str = preg_replace('/\s+/', '', $str);

或者

$str = preg_replace('# #','',$str);