首页 >后端开发 >php教程 >PHP的文件和目录操作

PHP的文件和目录操作

不言
不言原创
2018-07-04 16:53:364830浏览

这篇文章主要介绍了关于PHP的文件和目录操作,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

php文件目录操作

  • 目录操作

    • is_dir ( $path ) 判断当前路径是否为目录 ,返回布尔

    • opendir ( $path ) 打开路径目录,返回资源

    • readdir ( $handle ) 读取当前打开目录下一个文件,同时指针向前移动一位,返回字符串 (文件/目录名)

    • closedir ( $handle ) 关闭当前打开目录 返回布尔

    • getcwd ( ) 获得当前工作目录

    • rmdir 删除目录,删除前必须先删除目录下所有文件和目录

  代码:列出指定目录下所有文件和文件名

function traversal_dir($path, $deep = 0) {    
if (is_dir($path)) {        
$handle = opendir($path);        
while (($file = readdir($handle)) !== false) {            
if ($file == '.' || $file == '..') {               
 continue;
            }            
            echo str_repeat(&#39;-&#39;, 2 * $deep) . $file . &#39;</br>&#39;;            
            if (is_dir($path . &#39;/&#39; . $file)) {
                traversal_dir($path . &#39;/&#39; . $file, $deep + 1);
            }
        }
    }
}

traversal_dir(&#39;./&#39;);
  • 文件操作

    • is_file ( $path ) :判断指定 路径是否为文件

    • file_exists ( $path )  : 检查目录或者文件是否存在

    • fopen ( $file ) :打开文件或者 URL 返回资源

    • fread ( resource $handle , int $length ) : 读取文件,可指定长度

    • fwrite ( resource $handle , string $string [, int $length ] ) : 返回写入字符串大小,如果指定了 length,当写入了 length 个字节或者写完了 string 以后,写入就会停止,视乎先碰到哪种情况。

    • fgets ( resource $handle [, int $length ] ) : 读取一行文本,length指定一行文本长度

    • fclose ( resource $handle ) : 关闭文件

    • basename ( $path ) : 返回指定路径的文件名部分  返回String

    • dirname ( $path ) : 返回指定路径的目录名部分  返回string

    • 路径部分

    • 操作部分

    • stat 获得文件信息

    • 判断部分

    • filesize ( $path ) 获得文件大小  int

    • filetype ( $path ) 获得文件类型 string (可能值:fifo,char,dir,block,link,file 和 unknown)

    • rename ( string $oldname , string $newname [, resource $context ] ) 重命名或者移动  返回布尔

    • unlink ( $path ) 删除文件  返回布尔

    • file_get_contents 将整个文件读如一个字符串

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

  代码:每执行一次文件,向文件头部追加 Hello word

$path = &#39;./hello.txt&#39;;
if (!file_exists($path)) {    
$handle = fopen($path, &#39;w+&#39;);    
fwrite($handle, &#39;Hello word&#39; . &#39;\r\n&#39;);    
fclose($handle);
} else {    
$handle = fopen($path, &#39;r&#39;);    
$content = fread($handle, filesize($path));    
$content = &#39;Hello word \r\n&#39; . $content;    
fclose($handle);    
$handle = fopen($path, &#39;w&#39;);    
fwrite($handle, $content);    
fclose($handle);
}

代码:遍历删除文件夹及文件夹下所有文件

function traversal_delete_dir($path) {    
if (is_dir($path)) {        
$handle = opendir($path);        
while (($file = readdir($handle)) !== false) {            
if ($file == &#39;.&#39; || $file == &#39;..&#39;) {                
continue;
            }            
            if (is_dir($path . &#39;/&#39; . $file)) 
            {
                traversal_delete_dir($path . &#39;/&#39; . $file);
            } else {                
            if (unlink($path . &#39;/&#39; . $file))
             {                    
            echo &#39;删除文件&#39; . $file . &#39;成功&#39;;
                }
            }
        }        
        closedir($handle);        
        rmdir($path);
    }
}

traversal_delete_dir(&#39;./shop_api&#39;);

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

 php的双向队列代码

php生成xml数据的方法

以上是PHP的文件和目录操作的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn