PHP error_reporting(E_ALL ^ E_NOTICE)一些资料整理

 更新时间:2016年11月25日 16:46  点击:1369
在php中我们对错误的处理会常用到error_reporting函数了,大家可以看到最多的是error_reporting(E_ALL ^ E_NOTICE)了,这个到底什么意思呢,下面我来来看看。

我们在程序中可能经常看到这么一个函数

 代码如下 复制代码

function setErrorReporting()
{
    //从配置文件读取当前是否为开发环境
    if (DEV_ENV == true) {
        ini_set("error_reprorting", "E_ALL & ~E_NOTICE");
        ini_set("display_errors", "on");
    } else {
        error_reporting(E_ALL);
        ini_set('display_errors', 'Off');
        ini_set("log_errors" , "On");
        ini_set('error_log', '/var/log/phperror.log');

    }
}

举例说明:

在Windows环境下:原本在php4.3.0中运行正常的程序,在4.3.1中为何多处报错,大体提示为:Notice:Undefined varialbe:变量名称.


例如有如下的代码:

 代码如下 复制代码

if (!$tmp_i) {
$tmp_i=10;
}

在4.3.0中运行正常,在4.3.1中运行会提示Notice:Undefined varialbe:tmp_i

问题如下:1.问题出在哪里?
2.应如何修改这段代码?
3.不改段代码,如何修改php.ini中的设置使原来在4.3.0中的程序在4.3.1的环境下运行正常而不出现这个错误提示.

解决办法:


在程序开头加一句:

 代码如下 复制代码

error_reporting(E_ALL & ~E_NOTICE); 或error_reporting(E_ALL ^ E_NOTICE);

或者修改php.ini:

 代码如下 复制代码

error_reporting = E_ALL & ~E_NOTICE

有关error_reporting()函数: error_reporting() 设置 PHP 的报错级别并返回当前级别。
; 错误报告是按位的。或者将数字加起来得到想要的错误报告等级。
; E_ALL - 所有的错误和警告
; E_ERROR - 致命性运行时错
; E_WARNING - 运行时警告(非致命性错)
; E_PARSE - 编译时解析错误
; E_NOTICE - 运行时提醒(这些经常是是你的代码的bug引起的,也可能是有意的行为造成的。(如:基于未初始化的变量自动初始化为一个空字符串的事实而使用一个未初始化的变量)
; E_CORE_ERROR - 发生于PHP启动时初始化过程中的致命错误
; E_CORE_WARNING - 发生于PHP启动时初始化过程中的警告(非致命性错)
; E_COMPILE_ERROR - 编译时致命性错
; E_COMPILE_WARNING - 编译时警告(非致命性错)
; E_USER_ERROR - 用户产生的出错消息
; E_USER_WARNING - 用户产生的警告消息
; E_USER_NOTICE - 用户产生的提醒消息

E_NOTICE 表示一般情形不记录,只有程式有错误情形时才用到,例如企图存取一个不存在的变数,或是呼叫 stat() 函式检视不存在的档案。

E_WARNING 通常都会显示出来,但不会中断程式的执行。这对除错很有效。例如:用有问题的常规表示法呼叫 ereg()。

E_ERROR 通常会显示出来,亦会中断程式执行。意即用这个遮罩无法追查到记忆体配置或其它的错误。

E_PARSE 从语法中剖析错误。

E_CORE_ERROR 类似 E_ERROR,但不包括 PHP 核心造成的错误。

E_CORE_WARNING 类似 E_WARNING,但不包括 PHP 核心错误警告


使用方法:

error_reporting(0);//禁用错误报告
error_reporting(E_ALL ^ E_NOTICE);//显示除去 E_NOTICE 之外的所有错误信息
error_reporting(E_ALL^E_WARNING^E_NOTICE);//显示除去E_WARNING E_NOTICE 之外的所有错误信息
error_reporting(E_ERROR | E_WARNING | E_PARSE);//显示运行时错误,与error_reporting(E_ALL ^ E_NOTICE);效果相同。error_reporting(E_ALL);//显示所有错误

error_reporting(0)

error_reporting(255);

是列出所有提示

error_reporting(0);

是不显示所有提示

建议使用

error_reporting(7);

只显示严重错误

1 E_ERROR 致命的运行时错误

2 E_WARNING 运行时警告(非致命性错误)

4 E_PARSE 编译时解析错误

8 E_NOTICE 运行时提醒(经常是bug,也可能是有意的)

16 E_CORE_ERROR PHP启动时初始化过程中的致命错误

32 E_CORE_WARNING PHP启动时初始化过程中的警告(非致命性错)

64 E_COMPILE_ERROR 编译时致命性错

128 E_COMPILE_WARNING 编译时警告(非致命性错)

256 E_USER_ERROR 用户自定义的致命错误

512 E_USER_WARNING 用户自定义的警告(非致命性错误)

1024 E_USER_NOTICE 用户自定义的提醒(经常是bug,也可能是有意的)

2048 E_STRICT 编码标准化警告(建议如何修改以向前兼容)

4096 E_RECOVERABLE_ERROR 接近致命的运行时错误,若未被捕获则视同E_ERROR

6143 E_ALL 除E_STRICT外的所有错误(PHP6中为8191,即包含所有)

在php中字符串分割有很多,如有str_split,explode,chunk_split()函数,下面我给大家分别整理了一些实例,希望能给大家带来帮助。

str_split() 可以将字符串按照需要的长度做分割, 但是如果字符串中有UTF-8编码的中文出现,就会出现乱码。
如果需要实现支持中文的按照长度分割字符串的功能就需要额外处理

 代码如下 复制代码

<?php
$str = 'hello world';
$arr = str_split($str);
print_r($arr);
/*
Array
(
   
[0] => h
   
[1] => e
   
[2] => l
   
[3] => l
   
[4] => o
   
[5] =>
   
[6] => w
   
[7] => o
   
[8] => r
   
[9] => l
   
[10] => d
)
*/
 
$arr = str_split($str,2);
print_r($arr);
/*
Array
(
   
[0] => he
   
[1] => ll
   
[2] => o
   
[3] => wo
   
[4] => rl
   
[5] => d
)
 
*/
?>

支持UTF-8编码的中文的按照长度分割字符串函数

 代码如下 复制代码

<?php
/**
* @version $Id: str_split.php 10381 2008-06-01 03:35:53Z pasamio $
* @package utf8
* @subpackage strings
*/
function utf8_str_split($str, $split_len = 1)
{
    if (!preg_match('/^[0-9]+$/', $split_len) || $split_len < 1)
        return FALSE;
 
    $len = mb_strlen($str, 'UTF-8');
    if ($len <= $split_len)
        return array($str);
 
    preg_match_all('/.{'.$split_len.'}|[^x00]{1,'.$split_len.'}$/us', $str, $ar);
 
    return $ar[0];
}
 
$str = 'hello 你好';
 
$arr = utf8_str_split($str);
print_r($arr);
/*
Array
(
   
[0] => h
   
[1] => e
   
[2] => l
   
[3] => l
   
[4] => o
   
[5] =>
   
[6] => 你
   
[7] => 好
)
*/
?>

主要是chunk_split()函数的功能

与str_split()的区别是str_split()是把字符串按照长度分割成数组,而chunk_split()则是用一个指定的特殊符按照长度分割成新的字符串。

相当于 str_split()+implode()两个函数的功能。

同样这个函数是不支持中文的,需要实现这样的功能需要自定义函数。

 代码如下 复制代码

<?php
    $data = "e0ab71ab9ed24e627a24e7d65367936393cb3b39db9a9e84d65cd7a9254a4665";
    echo chunk_split($data, 30, "<br />");
    echo implode("<br />",str_split($data,30));
//和chunk_split效果一样
?>

支持中文的自定义chunk_split()函数

 代码如下 复制代码

<?php
//from Peter from dezzignz.com 05-Apr-2010 11:30 @ php.net
 
function mbStringToArray ($str) {
    if (empty($str)) return false;
    $len = mb_strlen($str);
    $array = array();
    for ($i = 0; $i < $len; $i++) {
        $array[] = mb_substr($str, $i, 1);
    }
    return $array;
}
 
function mb_chunk_split($str, $len, $glue) {
    if (empty($str)) return false;
    $array = mbStringToArray ($str);
    $n = 0;
    $new = '';
    foreach ($array as $char) {
        if ($n < $len) $new .= $char;
        elseif ($n == $len) {
            $new .= $glue . $char;
            $n = 0;
        }
        $n++;
    }
    return $new;
}
 
$data = "e0ab你好4e627a24e7d65367936393cb3b39db9钓鱼岛a9e84d65cd7a9254a4665";
echo mb_chunk_split($data, 30, "<br />");
?>

PHP explode函数说明,这个函数我们经常会用到

explode 函数
该函数所支持版本(PHP 4, PHP 5),通常是比 split() 更快的替代方案。如果不需要正则表达式的威力,则使用 explode() 更快,这样就不会招致正则表达式引擎的浪费。

explode  —         使用一个字符串分割另一个字符串

 说明
array explode ( string $delimiter , string $string [, int $limit ] )
此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 delimiter 作为边界点分割出来。

 参数
 

delimiter
边界上的分隔字符。

string
输入的字符串。

limit
如果设置了 limit 参数并且是正数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。

如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。

如果 limit 是 0,则会被当做 1。

 

由于历史原因,虽然 implode() 可以接收两种参数顺序,但是 explode() 不行。你必须保证 separator 参数在 string 参数之前才行。

 返回值
此函数返回由字符串组成的 array,每个元素都是 string 的一个子串,它们被字符串 delimiter 作为边界点分割出来。

如果 delimiter 为空字符串(""), explode() 将返回 FALSE。 如果 delimiter 所包含的值在 string 中找不到,并且使用了负数的 limit , 那么会返回空的 array, 否则返回包含 string 单个元素的数组。

Report a bug
 更新日志
 

版本 说明
5.1.0 支持负数的 limit
4.0.1 增加了参数 limit
Example #1 explode() 例子
PHP代码

 

 代码如下 复制代码
   <?php      
    // 示例 1      
    $pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";      
    $pieces = explode(" ", $pizza);      
    echo $pieces[0]; // piece1      
    echo $pieces[1]; // piece2      
         
    // 示例 2      
    $data = "foo:*:1023:1000::/home/foo:/bin/sh";      
    list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);      
    echo $user; // foo      
    echo $pass; // *      
         
    ?>      

Example #2 explode() return examples
PHP代码

  

 代码如下 复制代码

  <?php      
    /* A string that doesn't contain the delimiter will simply return a one-length array of the original string. */     
    $input1 = "hello";      
    $input2 = "hello,there";      
    var_dump( explode( ',', $input1 ) );    
    var_dump( explode( ',', $input2 ) );      
         
    ?>      

 


以上例程会输出:

array(1)
(
    [0] => string(5) "hello"
)
array(2)
(
    [0] => string(5) "hello"
    [1] => string(5) "there"
)

Example #3 limit 参数的例子
PHP代码

  

 代码如下 复制代码
  <?php      
    $str = 'one|two|three|four';      
         
    // 正数的 limit      
    print_r(explode('|', $str, 2));      
         
    // 负数的 limit(自 PHP 5.1 起)      
    print_r(explode('|', $str, -1));      
    ?>   

 

以上例程会输出:
Array
(
    [0] => one
    [1] => two|three|four
)
Array
(
    [0] => one
    [1] => two
    [2] => three
)

php文件操作函数包括有上千个,这里我来给大家总结一些常用的php文件操作函数吧,希望此文章对各位同学会有所帮助哦。

 

最近写了几个计数器的源码实例和生成静态文章CMS,用到了php的文件操作,php的文件操作函数还是很强大的,真正常常使用的却经常是哪么几个。所以在学习时只需要记住使用频率很高的几个就行了,不用记得那么多无用的函数代码,至于使用频率不是很高的,只要看到是什么意思就可以了。下面是本博04ie.com几个在php中使用频率很高的函数,几乎在用到php操作函数时经常会使用到,其实只有六个,先备份下来,在温习php知识时正好拿来用。

一、判断文件是否存在

if(file_exists(“data.txt”)) {//内容;}

二、打开文件

$openfile=fopen(“路径和文件名”,”打开方式”); //打开方式: r只读,w只写,a读写;

三、读取文件

$str=fread($openfile, filesize(“路径和文件名”)); //参数:打开的文件,截止字符位置;

四、读取文件大小(单位:字节)

filesize(“路径和文件名”);

五、写入文件内容

fwrite(“路径和文件名”,写入的内容);

六、关闭文件

fclose($openfile); //参数:打开的文件

知识:替换函数str_replace(“原内容”,”要替换成的内容”,变量);

以下是个人总结的PHP文件操作函数。当然,这只是部分,还有很多,我没有列出来。

一 、解析路径:

1 获得文件名:
basename();
给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名。如果文件名是以 suffix 结束的,那这一部分也会被去掉。
eg:


$path = "/home/httpd/html/index.php";
$file = basename($path,".php"); // $file is set to "index"
 

2 得到目录部分:
dirname();
给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名。
eg:


$path = "/etc/passwd";
$file = dirname($path); // $file is set to "/etc"
 

3 得到路径关联数组
pathinfo();
得到一个指定路径中的三个部分:目录名,基本名,扩展名。
eg:


$pathinfo = pathinfo("www/test/index.html");
var_dump($pathinfo);
// $path['dirname']
$path['basename']
$path['extenssion']
 
二、文件类型
1. filetype();
返回文件的类型。可能的值有 fifo,char,dir,block,link,file 和 unknown。
eg:


echo filetype('/etc/passwd'); // file
echo filetype('/etc/');        // dir
 
三、得到给定文件有用信息数组(很有用)

1. fstat();
通过已打开的文件指针取得文件信息
获取由文件指针 handle 所打开文件的统计信息。本函数和 stat() 函数相似,除了它是作用于已打开的文件指针而不是文件名。
eg:


 

// 打开文件
$fp = fopen("/etc/passwd", "r");
// 取得统计信息
$fstat = fstat($fp);
// 关闭文件
fclose($fp);
// 只显示关联数组部分
print_r(array_slice($fstat, 13));
2. stat()
获取由 filename 指定的文件的统计信息(类比fstat())

四、计算大小
1. filesize()
返回文件大小的字节数,如果出错返回 FALSE 并生成一条 E_WARNING 级的错误。
eg:


// 输出类似:somefile.txt: 1024 bytes
$filename = 'somefile.txt';
echo $filename . ': ' . filesize($filename) . ' bytes';
 
2. disk_free_space()
获得目录所在磁盘分区的可用空间(字节单位)
eg


// $df 包含根目录下可用的字节数
$df = disk_free_space("/");
//在 Windows 下:
disk_free_space("C:");
disk_free_space("D:");

 
3. disk_total_space()
返回一个目录的磁盘总大小
eg:(同上,换掉函数)

另:如需要计算一个目录大小,可以编写一个递归函数来实现


代码
function dir_size($dir){
$dir_size = 0;
if($dh = @opendir($dir)){
while(($filename = readdir($dh)) != false){
if($filename !='.' and $filename !='..'){

     if(is_file($dir.'/'.$filename)){
$dir_size +=filesize($dir.'/'.$filename);

}else if(is_dir($dir.'/'.$filename)){

      $dir_size +=dir_size($dir.'/'.$filename);
}
}

                   }#end while

            }# end opendir

@closedir($dh);
return $dir_size;
} #end function

 

五、 访问与修改时间
1. fileatime(): 最后访问时间
2. filectime(): 最后改变时间(任何数据的修改)
3. filemtime(): 最后修改时间(指仅是内容修改)

 

六、 文件的I/O操作


1. fopen -- 打开文件或者 URL

mode 说明
'r' 只读方式打开,将文件指针指向文件头。
'r+' 读写方式打开,将文件指针指向文件头。
'w' 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
'w+' 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
'a' 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
'a+' 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
'x' 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,
'x+' 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE
eg:


$handle = fopen("/home/rasmus/file.txt", "r");
 

2. file -- 把整个文件读入一个数组中(此函数是很有用的)
和 file_get_contents() 一样,只除了 file() 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内。如果失败 file() 返回 FALSE。
eg:


代码
$lines = file('http://www.example.com/');
// 在数组中循环,显示 HTML 的源文件并加上行号。
foreach ($lines as $line_num => $line) {
echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />n";
}
// 另一个例子将 web 页面读入字符串。参见 file_get_contents()。
$html = implode('', file ('http://www.example.com/'));

 

3. fgets -- 从文件指针中读取一行
从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。
eg:


$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
echo $buffer;
}
fclose($handle);
}
 

4. fgetss -- 从文件指针中读取一行并过滤掉 HTML 标记
和 fgets() 相同,只除了 fgetss 尝试从读取的文本中去掉任何 HTML 和 PHP 标记。

   可以用可选的第三个参数指定哪些标记不被去掉


   另:对的目录的操作:
1. opendir -- 打开目录句柄,打开一个目录句柄,可用于之后的 closedir(),readdir() 和 rewinddir() 调用中。
2. readdir -- 从目录句柄中读取条目,返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回。
eg:

 

代码
// 注意在 4.0.0-RC2 之前不存在 !== 运算符

if ($handle = opendir('/path/to/files')) {
echo "Directory handle: $handlen";
echo "Files:n";
 
while (false !== ($file = readdir($handle))) {
echo "$filen";
}
  
while ($file = readdir($handle)) {
echo "$filen";
}
     closedir($handle);
}
 


3. scandir -- 列出指定路径中的文件和目录(很有用),返回一个 array,包含有 directory 中的文件和目录。
默认的排序顺序是按字母升序排列。如果使用了可选参数 sorting_order(设为 1),则排序顺序是按字母降序排列。
eg:

$dir    = '/tmp';
$files1 = scandir($dir);
$files2 = scandir($dir, 1);

print_r($files1);
print_r($files2);  
 

另外注:

七、 对文件属性的操作(操作系统环境不同,可能有所不一样,这点要注意)

    1文件是否可读:

       boolis_readable ( string filename )

         如果由 filename 指定的文件或目录存在并且可读则返回 TRUE。

        记住 PHP 也许只能以运行 webserver 的用户名(通常为 'nobody')来访问文件。不计入安全模式的限制。

    2 文件是否可写

         bool is_writable ( string filename )

        如果文件存在并且可写则返回 TRUE。filename 参数可以是一个允许进行是否可写检查的目录名。

         记住 PHP 也许只能以运行 webserver 的用户名(通常为 'nobody')来访问文件。不计入安全模式的限制

   3  检查文件是否存在

    boolfile_exists ( string filename )

      如果由 filename 指定的文件或目录存在则返回 TRUE,否则返回 FALSE

本文章来给各位同学介绍一下关于一些常用的php 文件系统函数整理,希望这些东西对各位同学会有所帮助哦。


简介:本次介绍的是PHP中与文件操作相关的系统函数,这些函数也是非常的重要,下面天涯依然是对比较常用的进行详细举例说明。

basename — 返回路径中的文件名部分
dirname — 返回路径中的目录部分

    string basename ( string $path [, string $suffix ] )
    string dirname ( string $path )

示例:

 

 代码如下 复制代码
   <?php
    //天涯PHP博客 http://www.111cn.net
    $path = "/home/httpd/www.111cn.net/index.php";
    echo basename($path);
    echo basename($path, '.php');
    echo basename($path, '.xxx');
    echo dirname($path);
    ?>
    //结果:
    index.php
    index
    index.php
    /home/httpd/www.111cn.net

说明:如果文件名是以正确的suffix结束的,那这一部分也会被去掉。

chgrp — 改变文件所属的组
chown — 改变文件的所有者
chmod — 改变文件模式

    bool chmod ( string $filename , int $mode )

示例:

 

 代码如下 复制代码
   <?php
    chmod('/home/phpha.txt', 0755);
    ?>

copy — 拷贝文件

  

 代码如下 复制代码
  if(copy('index.php', 'index.php.bak')){
    echo 'copy success';
    }
    ?>

    //在当前目录下生存了index.php.bak文件

delete — 参见 unlink 或 unset
unlink — 删除文件

 代码如下 复制代码

    <?php
    if(unlink('index.php.bak')){
    echo 'unlink success';
    }
    ?>
    //删除了index.php.bak

disk_free_space — 返回目录中的可用空间
disk_total_space — 返回一个目录的磁盘总大小
diskfreespace — disk_free_space 的别名

  

 代码如下 复制代码
  <?php
    //在 Windows 下:
    echo disk_free_space("C:"), '<br />';
    echo disk_total_space("C:");
    ?>
    //结果:返回的是字节数
    17433419776
    32218386432

fopen — 打开文件或者 URL
fgets — 从文件指针中读取一行
feof — 测试文件指针是否到了文件结束的位置
fread — 读取文件(可安全用于二进制文件)
fwrite — 写入文件(可安全用于二进制文件)
fclose — 关闭一个已打开的文件指针

   

 代码如下 复制代码
<?php
    //天涯PHP博客 http://www.111cn.net
    $fp = fopen('hello.txt', 'r'); //打开一个文件
    $n = 1;
    while(!feof($fp)){
    echo $n, ' - ', fgets($fp), '<br />'; //读取一行并输出
    $n++;
    }
    fclose($fp); //关闭文件
    ?>
    //输出:
    1 - Welcome to my blog:
    2 - http://www.111cn.net

fgetc — 从文件指针中读取字符
fgetcsv — 从文件指针中读入一行并解析 CSV 字段
fgetss — 从文件指针中读取一行并过滤掉 HTML 标记
fputcsv — 将行格式化为 CSV 并写入文件指针
fputs — fwrite 的别名

  

 代码如下 复制代码
  <?php
    $fp = fopen('hello.txt', 'r');
    while(false !== ($char = fgetc($fp))){
    echo $char, '-';
    }
    ?>
    //输出:
    W-e-l-c-o-m-e- -t-o- -m-y- -b-l-o-g-:- - -h-t-t-p-:-/-/-b-l-o-g-.-p-h-p-h-a-.-c-o-m-

file_exists — 检查文件或目录是否存在

   

 代码如下 复制代码
<?php
    if(file_exists('hello.txt')){
    echo 'hello.txt exists';
    }else{
    echo 'hello.txt not exists';
    }
    ?>
    //输出:
    hello.txt exists

file_get_contents — 将整个文件读入一个字符串
file_put_contents — 将一个字符串写入文件
file — 把整个文件读入一个数组中

   

 代码如下 复制代码
<?php
    if($content = file_get_contents('hello.txt')){
    file_put_contents('hello.txt.bak', $content);
    }
    ?>
    //相当于copy了一份hello.txt
    <?php
    if($content = file('hello.txt')){
    print_r($content);
    }
    ?>
    //数组形式,每一行是一个数组成员
    Array
    (
    [0] => Welcome to my blog:
    [1] => http://www.111cn.net
    )

fileatime — 取得文件的上次访问时间
filectime — 取得文件的 inode 修改时间
filegroup — 取得文件的组
fileinode — 取得文件的 inode
filemtime — 取得文件修改时间
fileowner — 取得文件的所有者
fileperms — 取得文件的权限
filesize — 取得文件大小
filetype — 取得文件类型

   

 代码如下 复制代码
<?php
    echo fileatime('hello.txt');
    echo filectime('hello.txt');
    echo filegroup('hello.txt');
    echo filemtime('hello.txt');
    echo fileowner('hello.txt');
    echo substr(sprintf('%o', fileperms('hello.txt')), -4);
    echo filesize('hello.txt');
    echo filetype('hello.txt');
    ?>
    //输出:
    1353329003
    1353329003
    0
    1353330002
    0
    0666
    42
    file

flock — 轻便的咨询文件锁定
fnmatch — 用模式匹配文件名
fflush — 将缓冲内容输出到文件
fpassthru — 输出文件指针处的所有剩余数据
fscanf — 从文件中格式化输入
fseek — 在文件指针中定位
fstat — 通过已打开的文件指针取得文件信息
ftell — 返回文件指针读/写的位置
ftruncate — 将文件截断到给定的长度
glob — 寻找与模式匹配的文件路径

is_dir — 判断给定文件名是否是一个目录
is_executable — 判断给定文件名是否可执行
is_file — 判断给定文件名是否为一个正常的文件
is_link — 判断给定文件名是否为一个符号连接
is_readable — 判断给定文件名是否可读
is_uploaded_file — 判断文件是否是通过 HTTP POST 上传的
is_writable — 判断给定的文件名是否可写
is_writeable — is_writable 的别名
说明:以上函数都是用来判断文件或目录是否符合对应的条件,返回TRUE或FALSE。

lchgrp — Changes group ownership of symlink
lchown — Changes user ownership of symlink
link — 建立一个硬连接
linkinfo — 获取一个连接的信息
lstat — 给出一个文件或符号连接的信息
mkdir — 新建目录
move_uploaded_file — 将上传的文件移动到新位置
parse_ini_file — 解析一个配置文件
pathinfo — 返回文件路径的信息
pclose — 关闭进程文件指针
popen — 打开进程文件指针
readfile — 输出一个文件
readlink — 返回符号连接指向的目标
realpath — 返回规范化的绝对路径名
rename — 重命名一个文件或目录
rewind — 倒回文件指针的位置
rmdir — 删除目录
set_file_buffer — stream_set_write_buffer 的别名
stat — 给出文件的信息
symlink — 建立符号连接
tempnam — 建立一个具有唯一文件名的文件
tmpfile — 建立一个临时文件
touch — 设定文件的访问和修改时间
umask — 改变当前的 umask
clearstatcache — 清除文件状态缓存

总结:其实这么多的文件操作函数,大部分用不到,同时可以看到这些函数与linux命令相似度有多么大

本文章来给各位同学介绍关于php str_replace 函数参数为数组时的使用,如果你此教程有兴趣不防进入参考。

str_replace 用于字符串替换

 代码如下 复制代码

<?php
str_replace("php","java","php教程4");
//java教程4
?>

被搜索的变量是字符串

 代码如下 复制代码

<?php
/*
被搜索的变量是字符串
*/
$array=array();
$array[]='php教程1';
$array[]='php教程2';
$array[]='php教程3';
$array[]='php教程4';
$arrayNew=str_replace("php","java",$array);
 
print_r($arrayNew);
/*
Array
(
   
[0] => java教程1
   
[1] => java教程2
   
[2] => java教程3
   
[3] => java教程4
)
*/
?>

也可以处理数组形式的变量,查找的值和替换后的值可以是一对一关系

 代码如下 复制代码

<?php
/*
要查找的变量是数组形式
*/
$array=array();
$array[]='php教程1';
$array[]='php教程2';
$array[]='php教程3';
$array[]='php教程4';
$find=array("php","教程");
$replace=array("java","案例");
$arrayNew=str_replace($find,$replace,$array);
print_r($arrayNew);
/*
Array
(
   
[0] => java案例1
   
[1] => java案例2
   
[2] => java案例3
   
[3] => java案例4
)
*/
?>

查找的值和替换后的值可以是多对一关系

 代码如下 复制代码

<?php
/*
要查找的变量是数组形式
*/
$array=array();
$array[]='php教程1';
$array[]='php教程2';
$array[]='php教程3';
$array[]='php教程4';
$find=array("php","教程");
$arrayNew=str_replace($find,"java",$array);
 
print_r($arrayNew);
 
/*
Array
(
   
[0] => javajava1
   
[1] => javajava2
   
[2] => javajava3
   
[3] => javajava4
)
*/

[!--infotagslink--]

相关文章