文章来源:
100素材网
更新时间:
2014-08-04 18:21:44
php读取txt php读取txt文件 php读取txt内容 php创建目录
本实例代码主要是通过php来:
1、阅读一个目录的内容
2、删除目录及其内容
3、创建新目录
阅读一个目录的内容
让我们先从简单的清单目录的内容。我们需要三个函数来执行该任务:opendir()、readdir()和closedir()。opendir()函数接受一个参数,这是我们想读的目录,并返回一个目录处理在后续使用readdir()和closedir()调用。opendir()返回False,如果目录不能被打开。
readdir()函数接受一个参数,即处理,opendir()返回,每次我们称之为readdir()返回目录下文件的文件名。readdir()返回False如果结束的目录。注意,readdir()只返回其物品的名字,而不是完整路径。
下面的示例创建一个选择框,列出当先文件目录下中除本身的所有文件。复制和粘贴这段代码并将其保存为索引。php在目录中你希望显示所有文件。它会自动从列表中不包括本身,很容易修改,使其忽略其他文件:
有另一种遍历目录中的所有文件。PHP 5中有一组称为迭代器对象。迭代器帮助消除代码中的问题。例如,PHP 5提供了DirectoryIterator:
删除目录及其内容
PHP已删除文件夹()函数,它接受一个目录名称作为其唯一的参数,并将从文件系统中删除指定的目录,如果流程运行脚本有权这样做。然而,删除目录()函数只能空目录。下面的例子删除空目录命名为“temporary”:
删除非空目录的另一种方法是使用RecursiveDirectoryIterator RecursiveIteratorIterator。RecursiveIteratorIterator必须告知要提供孩子(文件和子目录),然后父母CHILD_FIRST常数。看一下代码:
创建新目录
用PHP创建新目录完成使用mkdir()函数,它接受两个参数。这些参数,在秩序,要创建目录名称和权限模式的新目录,它必须是一个八进制数。模式参数是可选的,并且只在Unix系统有影响。看看这个例子:
1、阅读一个目录的内容
2、删除目录及其内容
3、创建新目录
阅读一个目录的内容
让我们先从简单的清单目录的内容。我们需要三个函数来执行该任务:opendir()、readdir()和closedir()。opendir()函数接受一个参数,这是我们想读的目录,并返回一个目录处理在后续使用readdir()和closedir()调用。opendir()返回False,如果目录不能被打开。
readdir()函数接受一个参数,即处理,opendir()返回,每次我们称之为readdir()返回目录下文件的文件名。readdir()返回False如果结束的目录。注意,readdir()只返回其物品的名字,而不是完整路径。
下面的示例创建一个选择框,列出当先文件目录下中除本身的所有文件。复制和粘贴这段代码并将其保存为索引。php在目录中你希望显示所有文件。它会自动从列表中不包括本身,很容易修改,使其忽略其他文件:
<?php // open the current directory $dhandle = opendir('.'); // define an array to hold the files $files = array(); if ($dhandle) { // loop through all of the files while (false !== ($fname = readdir($dhandle))) { // if the file is not this file, and does not start with a '.' or '..', // then store it for later display if (($fname != '.') && ($fname != '..') && ($fname != basename($_SERVER['PHP_SELF']))) { // store the filename $files[] = (is_dir( "./$fname" )) ? "(Dir) {$fname}" : $fname; } } // close the directory closedir($dhandle); } echo "<select name=\"file\">\n"; // Now loop through the files, echoing out a new select option for each one foreach( $files as $fname ) { echo "<option>{$fname}</option>\n"; } echo "</select>\n"; ?>首先,我们打开目录阅读opendir()函数,使用一段语句循环遍历每个条目。我们称之为readdir()语句的测试表达式的一部分,将其结果分配给$帧变量。我们是显式地测试返回值是否等于和相同类型的错误因为否则,任何目录条目的名称的求值结果为False过早地将停止循环。身体内的声明,我们检查如果文件不是这个文件,并且不开始。(当前目录)或. .(父目录),然后保存文件名称$文件数组。我们也做一次检查。如果一个完整的文件路径导致目录然后我们添加到文件名称”(Dir)”。
有另一种遍历目录中的所有文件。PHP 5中有一组称为迭代器对象。迭代器帮助消除代码中的问题。例如,PHP 5提供了DirectoryIterator:
<?php echo "<select name=\"file\">\n"; foreach (new DirectoryIterator('.') as $file) { // if the file is not this file, and does not start with a '.' or '..', // then store it for later display if ( (!$file->isDot()) && ($file->getFilename() != basename($_SERVER['PHP_SELF'])) ) { echo "<option>"; // if the element is a directory add to the file name "(Dir)" echo ($file->isDir()) ? "(Dir) ".$file->getFilename() : $file->getFilename(); echo "</option>\n"; } } echo "</select>\n"; ?>这个例子之前产生相同的结果的代码,使用目录功能,但这段代码更短和更安全的,因为你不能忘记!= = =比较。
删除目录及其内容
PHP已删除文件夹()函数,它接受一个目录名称作为其唯一的参数,并将从文件系统中删除指定的目录,如果流程运行脚本有权这样做。然而,删除目录()函数只能空目录。下面的例子删除空目录命名为“temporary”:
<?php rmdir( "temporary" ); ?>
如果你想删除非空目录,您应该使用递归。在以下示例中,我们创建递归函数命名deleteDir(),一个目录名作为参数,将每个子目录,删除文件。当目录是空的,我们使用删除文件夹()来删除它。
<?php function deleteDir($dir) { // open the directory $dhandle = opendir($dir); if ($dhandle) { // loop through it while (false !== ($fname = readdir($dhandle))) { // if the element is a directory, and // does not start with a '.' or '..' // we call deleteDir function recursively // passing this element as a parameter if (is_dir( "{$dir}/{$fname}" )) { if (($fname != '.') && ($fname != '..')) { echo "<u>Deleting Files in the Directory</u>: {$dir}/{$fname} <br />"; deleteDir("$dir/$fname"); } // the element is a file, so we delete it } else { echo "Deleting File: {$dir}/{$fname} <br />"; unlink("{$dir}/{$fname}"); } } closedir($dhandle); } // now directory is empty, so we can use // the rmdir() function to delete it echo "<u>Deleting Directory</u>: {$dir} <br />"; rmdir($dir); } // call deleteDir function and pass to it // as a parameter a directory name deleteDir("temporary"); ?>
删除非空目录的另一种方法是使用RecursiveDirectoryIterator RecursiveIteratorIterator。RecursiveIteratorIterator必须告知要提供孩子(文件和子目录),然后父母CHILD_FIRST常数。看一下代码:
<?php function deleteDir($dir) { $iterator = new RecursiveDirectoryIterator($dir); foreach (new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::CHILD_FIRST) as $file) { if ($file->isDir()) { rmdir($file->getPathname()); } else { unlink($file->getPathname()); } } rmdir($dir); } deleteDir("temporary"); ?>注意:添加CHILD_FIRST常数是使用PHP 5.1
创建新目录
用PHP创建新目录完成使用mkdir()函数,它接受两个参数。这些参数,在秩序,要创建目录名称和权限模式的新目录,它必须是一个八进制数。模式参数是可选的,并且只在Unix系统有影响。看看这个例子:
<?php // if /path/to/my exists, this should return true // if PHP has the right permissions mkdir("/path/to/directory", 0777); ?>
默认情况下,只mkdir()函数创建一个目录如果母公司存在。PHP 5中添加了递归参数应或真或假,取决于是否你想创建父目录。在接下来的例子中,我们将真正的作为第三个参数传递给mkdir(),所以这使得函数递归地采取行动,创建任何失踪的父目录。
<?php // will create /path/to/directory and // also create /path and /path/to if needed and allowed mkdir("/path/to/directory", 0777, true); ?>
除非特别声明,此稿为原稿转载请注明原文链接
原文地址: http://www.www100sucai.com/code/1246.html
浏览次数次
上一篇文章: PHP创建Word,Excel和CSV格式文件
下一篇文章: PHP导出数据到Excel