有些空间并不提供文件的批量操作,可以自己些程序支持这些操作,下面是对文件夹进行删除操作的PHP代码 <? $filename=$_GET['file']; $dir = $_GET['dir']; function delFile($filename) { if(is_file($filename)) { if(@unlink($filename)) { echo "文件删除成功"; } else { echo "文件删除失败"; } } else { echo 'is not a file'; } } function delDir($dir) { if(is_file($dir)) { @unlink($dir); } else { $dirList = @opendir($dir); // readdir($dirList); // readdir($dirList); while ($file = (readdir($dirList))) { if($file != "." && $file != "..") { $file = $dir .DIRECTORY_SEPARATOR. $file; if(is_file($file)) { @unlink($file); } else { delDir($file); } } } } closedir($dirList); @rmdir($dir); ?> 最后调用时,只用指定php.php?dir=DIRNAME,就可以完成操作了。以上代码在已经完成 所需的功能,但是并不友好,可以为其写一个简单页 面。也可以加入一些统计信息,如删除的文件夹总数,删除的文件总数和操作所花费的时间等。 在这段程序的编写过程中出现了一个问题,即出现过一些错误: 1.@opendir,前面没有加@,出现错误 2.删除之后,系统的文件夹都还在,原来是open之后,没有正确地close掉,close的对象 应该是opendir或者的句柄,在这里应该是 closedir($dirList);,而不是$file PHP 读文件内容,此文件为txt,路径$filePath为'list.txt', 即放在和 php文件同一个目录, 注意: 本人的txt的内容样式如下: Email,FirstName,LastName... neil@ddd.com,neil,zhou... ... 具体实现根据自身情况修改。 $fp = fopen($filePath,"r "); $a = read_content_to_array($fp); // 取得文本文件中的内容 fclose($fp); /** @desc read file content to array @params $fp: file resource @return array */ function read_content_to_array($fp){ $i=0; $a = array(); while (!feof ($fp)) { //while循环,条件:没到文件的末端。 $buffer = fgets($fp, MAX_BYTES_PER_ROW); //fgets() 函数用于从 文件中逐行读取文件,,读取的字节数。默认是 1024 字节。MAX_BYTES_PER_ROW为自定义的一个常量,读取的字节数 $block=explode(STR_TD_DIVIDER,$buffer); //用分隔符对操作的一行($buffer)进行分割,返回由字符串组成的数组。STR_TD_DIVIDER为自定义的一个常量,每行中各个字段之间的 分隔符。 $a[$i]=$block; $i=$i+1; //通过while循环,带动i值递增,实现数组构建。 } return $a; } PHP 写内容到txt文件中 $handle = fopen($filePath, "w "); fwrite($handle,$str); fclose($handle); 怎么样,是不是看起来很简单呢?下面是一些简单知识的总结: fopen() 函数用于在 PHP 中打开文件,此函数的第一个参数含有要打开的文件 的名称,第二个参数规定了使用哪种模式来打开文件. 模式 描述 r 只读。在文件的开头开始。 r+ 读/写。在文件的开头开始。 w 只写。打开并清空文件的内容;如果文件不存在,则创建新文件。 w+ 读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。 a 追加。打开并向文件文件的末端进行写操作,如果文件不存在,则创 建新文件。 a+ 读/追加。通过向文件末端写内容,来保持文件内容。 x 只写。创建新文件。如果文件以存在,则返回 FALSE。 x+ 读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。 注释:如果 fopen() 无法打开指定文件,则返回 0 (false)。 检测 End-of-file feof() 函数检测是否已达到文件的末端 (EOF),在循环遍历未知长度的数据时,feof() 函数很有用。注释:在 w 、a 以及 x 模式,您无法读取打开的文件! if (feof($file)) echo "End of file"; fgets() 函数用于从文件中逐行读取文件。在调用该函数之后,文件指针会移动到下一行。
信息发布:广州名易软件有限公司 http://www.myidp.net
|