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

时间:2014-11-26 21:39:30

标签: javascript bash cgi iteration

在高度简化的方案中,我将以下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>
"

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

1 个答案:

答案 0 :(得分:1)

首先不要parse ls

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

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