我正在重新设计我公司在Wordpress中的内部网站点,他们需要的一件事就是公司备忘录的存档。在一个位置保存了300多个备忘录,我想知道是否有一个我可以运行的jQuery脚本,它将读取本地(网络)文件夹的内容并自动生成该文件夹内容的列表(并生成这些名称作为该文件的超链接,但如果我可以列出文件,我可以自己包含超链接标记。
我总是可以手动创建超链接列表(需要几天才能完成)但是如果我可以动态生成它,每当添加新的备忘录时,脚本会自动包含它,使网站更容易维护
这一切都可能吗?
我知道这可能是用PHP完成的,但我需要这样做的页面不是php页面,它是wordpress中创建的子页面之一,没有php文件扩展名,可以运行php代码(我知道)
提前感谢您提供任何帮助。
答案 0 :(得分:3)
快速执行此操作的方法是使用Apache httpd的核心功能之一并修改配置文件httpd.conf,以在“目录”条目中包含“Indexes”关键字,如下所示:
<Directory /var/www/html/company/memo/folder>
Options Indexes FollowSymLinks
</Directory>
这将导致显示文件的目录列表,其中包含为任何文件生成的链接,并根据文件权限授予访问权限。进行更改后重新启动Web服务器,您就可以开始使用了。
答案 1 :(得分:2)
jQuery将在查看器的浏览器上运行,因此无法查看任何文件或文件夹或网络共享。 Javascript不允许文件系统访问。您需要从服务器端执行此操作,这通常意味着在文件中(如您所说的PHP)。任何网络服务器都可以做到,你甚至不必使用wordpress,只是尝试直接链接到文件夹,Apache或IIS应该构建一个索引页。
答案 2 :(得分:1)
这是一个例子。显然,更改您要打开的目录,而不是提醒结果,您可以填充div或页面或任何您需要的内容。
<?php
if($_POST['list']){
if($handle = opendir('.')){
echo "Directory handle: $handle\n";
echo "Files: \n";
while(($file = readdir($handle))!=false)echo "$file\n";
}
closedir($handle);
exit;
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<script type="text/javascript" src="include/js/jQuery/jquery-1.4.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
jQuery.post('test.php?', {list: 1}, function(response){
alert(response);
});
});
</script>
</head>
<body>
</body>
</html>
答案 3 :(得分:0)
Karl是对的,最好的方法是使用服务器端编程语言。
但是如果你仍然想在JS中使用它,你可以使用ActiveX,据我所知它只能在IE中工作,你必须克服一些安全边界。
答案 4 :(得分:0)
你可能在WP论坛上有更好的运气,但在Exec-PHP plugin和PHP5的scandir之间,你应该能够得到一些东西。 (也请查看scandir页面上的用户评论。特别是如果你坚持使用PHP4)