服务器端迭代目录中的文件

server-sided iteration through files in a directory

本文关键字:文件 迭代 服务器端      更新时间:2023-09-26

在高度简化的场景中,我有以下bash脚本作为cgi运行:

#!/bin/sh
echo "Content-type: text/html"
list=
j=2
for i in $(ls *.log)
do
  (( j++ ))
  list="$list
   <a id='"index$j'" href='"$i'">$(basename "$i" .log)</a>"
done
(( j-- ))
echo -n "
<html>
 <head>
  <title>
   title
  </title>
  <meta http-equiv='"refresh'" content='"5'">
  <script type='"text/javascript'">window.count = {limit: $j}</script>
 </head>
 <body>
  <div id='"list'">
$list
  </div>
 </body>
</html>
"

该脚本获取当前目录中所有日志文件的名称、基名称和索引(带偏移量),并为每个日志文件创建一个锚点。我想通过使用 setInterval() 仅更改div的内容来避免不必要的页面刷新。是否可以使用纯JavaScript(无jqueryphpasp等)进行迭代部分?

首先不要解析 ls。

其次,没有你的javascript不能迭代服务器目录。

但是,您可以编写一个脚本,该脚本以javascript可用格式(json,xml,每行一个文件等)返回目录内容,然后使用该列表更新页面内容而无需刷新。