php 循环遍历文件夹下面的所有目录及文件并且每个文件都写入一句话

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 循环遍历文件夹下面的所有目录及文件并且每个文件都写入一句话相关的知识,希望对你有一定的参考价值。

/****************************
* 获取目录下的所有文件
* [$dir] 文件夹路径
****************************/
function deepScanDir($dir) 
    $fileArr = array ();
    $dirArr = array ();
    $dir = rtrim($dir, '//');
    if (is_dir($dir)) 
        $dirHandle = opendir($dir);
        while (false !== ($fileName = readdir($dirHandle))) 
            $subFile = $dir . DIRECTORY_SEPARATOR . $fileName;
            if (is_file($subFile)) 
                $fileArr[] = $subFile;
            
            elseif (is_dir($subFile) && str_replace('.', '', $fileName) != '') 
                $dirArr[] = $subFile;
                $arr = deepScanDir($subFile);
                $dirArr = array_merge($dirArr, $arr['dir']);
                $fileArr = array_merge($fileArr, $arr['file']);
            
        
        closedir($dirHandle);
    
    return array (
        'dir' => $dirArr,
        'file' => $fileArr
    );

/****************************
* 将内容写入文件
* [$filename] 文件路径
* [$contents]  文件内容
* [$type]     读写类型
****************************/
function writeFileContents($filename, $contents, $type='a') 
    if (!($fd = fopen($filename, $type)))
        return FALSE;

    if (!fwrite($fd, $contents."\\n")) 
        fclose($fd);
        return FALSE;
    

    fclose($fd);
    return true;

#示例:
$dir = "/usr/local/php/test/";
$dirFiles = deepScanDir($dir);
if(!empty($dirFiles['file']))
    foreach($dirFiles['file'] as $file)
        writeFileContents($file, "Hello", $type='a+');
    

参考技术A 首先,你会不会遍历???回的话那很简单,判断是不是文件,是的话,打开,写入内容。是文件夹,继续遍历。

C# 遍历文件夹及子目录下所有图片

要求:取指定目录下面的所有图片,以表格的型式展示并显示该图片的相对路径。

服务端代码:

 public partial class ViewIcon : System.Web.UI.Page
    {
        JArray ja = new JArray(); //定义一个数组
        public string info = string.Empty; 
        protected void Page_Load(object sender, EventArgs e)
        {
            var path1 = System.AppDomain.CurrentDomain.BaseDirectory;//获取程序集目录
            string path = Path.Combine(path1, "Image", "menu");//Path.Combine 将3个字符串组合成路径
            var images = Directory.GetFiles(path, ".", SearchOption.AllDirectories).Where(s => s.EndsWith(".png") || s.EndsWith(".jpg") || s.EndsWith(".gif"));
            //images = Directory.GetFiles(path, "*.png|*.jpg", SearchOption.AllDirectories);
            //Directory.GetFiles 返回指定目录的文件路径 SearchOption.AllDirectories 指定搜索当前目录及子目录
            
            //遍历string 型 images数组
            foreach (var i in images){
                var str = i.Replace(path1, "");//获取相对路径
                var path2 = str.Replace("\\", "/");将字符“\\”转换为“/”
                ja.Add(path2);
            }

            info = Newtonsoft.Json.JsonConvert.SerializeObject(ja);//序列化为String
        }
    }

前端代码:

<script type="text/javascript">
     $(function(){
         var images = <%=info%>;
        var list = [];
        list.push("<table>");
        list.push("<thead>");  
        list.push("<tr>");  
        list.push("<td>图标</td>");  
        list.push("<td>路径</td>");  
        list.push("<td>图标</td>");  
        list.push("<td>路径</td>");
        list.push("</tr>"); 
        list.push("</thead>");
        list.push("<tbody>");
        $.each(images, function (a,b) {
            if((a+1)%2==0){
                list.push("<td>"+"<img width=‘50‘ height=‘50‘ src = ‘../../" + b + "‘></td>");
                list.push("<td>"+b+"</td>");
                list.push("</tr>");  
            }
            if((a+1)%2!=0){
                list.push("<tr>");  
                list.push("<td>"+"<img width=‘50‘ height=‘50‘ src = ‘../../" + b + "‘></td>");
                list.push("<td>"+b+"</td>");
            } 
        })
        list.push("</tbody>");
        list.push("</table>");
        list.push("<br>");
        var images = list.join("");
        $("#imgs").append(images); 
    })

</script>

 

效果图如下:
技术分享

以上是关于php 循环遍历文件夹下面的所有目录及文件并且每个文件都写入一句话的主要内容,如果未能解决你的问题,请参考以下文章

PHP遍历目录和文件及子目录和文件

php写一个函数,能够遍历一个文件夹下的所有文件和子文件夹

php 获取当前目录所有文件夹名 及下级目录文件夹名 求代码详解

PHP遍历并打印指定目录下所有文件实例

php遍历文件夹是先文件夹还是文件

PHP 和 XML。使用 PHP 循环遍历 XML 文件