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 循环遍历文件夹下面的所有目录及文件并且每个文件都写入一句话的主要内容,如果未能解决你的问题,请参考以下文章