Javascript 如何使用java脚本打印文件夹中的所有txt文件
我需要使用javascript打印HTML中目录中的所有txt文件。 我试图修改处理照片的代码,但没有成功Javascript 如何使用java脚本打印文件夹中的所有txt文件,javascript,jquery,Javascript,Jquery,我需要使用javascript打印HTML中目录中的所有txt文件。 我试图修改处理照片的代码,但没有成功 var dir=“D:\Finaltests\test1\new\places”; var fileextension=“.txt”; $.ajax({ //如果文件夹配置为“可浏览”,则将检索该文件夹的内容 网址:dir, 成功:功能(数据){ //列出页面中的所有.txt文件名 $(数据)。查找(“a:包含(+fileextension+))。每个(函数(){ var filenam
var dir=“D:\Finaltests\test1\new\places”;
var fileextension=“.txt”;
$.ajax({
//如果文件夹配置为“可浏览”,则将检索该文件夹的内容
网址:dir,
成功:功能(数据){
//列出页面中的所有.txt文件名
$(数据)。查找(“a:包含(+fileextension+))。每个(函数(){
var filename=this.href.replace(window.location.host“”).replace(http://“,”);
$(“body”).append(出于安全原因,无法使用javascript访问主机文件系统。
您所能做的最好是对服务器端脚本(例如php)进行一次ajax调用,该脚本将收集所有html文件并将它们返回到ajax调用
gethtml.php:
<?php
$output = "";
// your list of folders
$folders = [
'D:\Finaltests\test1\new\places1',
'D:\Finaltests\test1\old\places2',
'D:\Finaltests\test1\whatever\places3'
];
foreach ($folders as $key => $dir) {
if(!is_dir($dir))
continue;
// get all files of the directory
$files = scandir($dir);
foreach ($files as $file) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
if(finfo_file($finfo, $file) == 'text/plain')
$output .= file_get_contents($dir . DIRECTORY_SEPARATOR . $file);
}
}
echo $output;
exit;
?>
您可以根据要获取的文件类型(纯文本或text/html或其他类型)更改检查mime类型的php行。出于安全原因,无法使用javascript访问主机文件系统。
您所能做的最好是对服务器端脚本(例如php)进行一次ajax调用,该脚本将收集所有html文件并将它们返回到ajax调用
gethtml.php:
<?php
$output = "";
// your list of folders
$folders = [
'D:\Finaltests\test1\new\places1',
'D:\Finaltests\test1\old\places2',
'D:\Finaltests\test1\whatever\places3'
];
foreach ($folders as $key => $dir) {
if(!is_dir($dir))
continue;
// get all files of the directory
$files = scandir($dir);
foreach ($files as $file) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
if(finfo_file($finfo, $file) == 'text/plain')
$output .= file_get_contents($dir . DIRECTORY_SEPARATOR . $file);
}
}
echo $output;
exit;
?>
您可以根据要获取的文件类型(纯文本或text/html或其他类型)更改检查mime类型的php行您可以将
与多个
属性集一起使用,接受
属性设置为文本/普通
;更改
事件;文件阅读器
,用于
循环
var pre=document.querySelector(“pre”);
document.querySelector(“输入[类型=文件]”)
.addEventListener(“更改”,函数(事件){
var files=event.target.files;
对于(var i=0;i
您可以将
与多个
属性集一起使用,接受
属性设置为文本/普通
;更改
事件;文件阅读器
,用于
循环
var pre=document.querySelector(“pre”);
document.querySelector(“输入[类型=文件]”)
.addEventListener(“更改”,函数(事件){
var files=event.target.files;
对于(var i=0;i
所以如果我有不同的目录,我需要制作几个html页面?然后我可以将它们收集到一个html页面中?OP已经在尝试使用ajax…这个答案不是很简单。你在不同的目录中有不同的html页面,你想在一个页面中打印所有页面,对吗?如果是,你应该编写一个小型服务器端sccript浏览每个目录,并将每个目录的内容连接到一个变量中,完成后将打印该变量,这样您一次只能进行一次ajax调用并获取所有html,或者我认为我可以访问子文件夹。因此,我只需要将我的javascript放在父文件夹中?var dir=“Src/themes/base/images/";Src这里是javascript的关键字吗?是的,erwan,但我仍然需要在html页面中获取txt文件,所以如果我有不同的目录,我需要创建几个html页面?然后我可以将它们收集到一个html页面中?OP已经在尝试使用ajax…这个答案不太简单。你有不同的html页面不同的目录,您想在一页中打印所有目录,对吗?如果是,您应该编写一个小的服务器端脚本来浏览每个目录,并将每个目录的内容连接到一个变量中,完成后您将打印该变量,这样您一次只能进行一个ajax调用并获取所有html,或者我认为我可以在所以我只需要将我的javascript放在父文件夹中?var dir=“Src/themes/base/images/”;Src这里是javascript的关键字吗?是的,erwan,但我仍然需要在html页面中获取txt文件。您检查了吗?ajax的路径需要是web路径,而不是本地文件目录路径,并且您的页面需要加载到本地服务器上,ajax才能工作。然后服务器实例将提供文件感谢您的帮助ion charlietfl,我既没有web路径也没有服务器,怎么办?你检查了吗?ajax的路径需要是web路径,而不是本地文件目录路径,你的页面需要加载到本地服务器上,ajax才能工作。然后服务器实例将交付文件谢谢你的澄清charlietfl,我既没有web路径也没有服务器,wh第一个javascript代码返回choosen文件的内容,第二个javascript代码返回choosen文件夹中的文件数。是否有方法显示特定目录的内容而不选择?@user305503“第二个javascript代码返回choosen文件夹中的文件数”第二个示例还应将所选文件的文本内容连接到
元素。“有没有一种方法可以不选择而显示特定目录的内容?”您所说的“内容”和“不选择”是什么意思?“内容”我指的是文本内容,“不选择”我的意思是在打开html页面时不选择目录。感谢guest271314提供有用的答案。@User305503“您编写的最后一个示例是否需要--允许从文件访问文件?”是的,请参阅更新的帖子以了解使用XMLHttpRequest()的方法
在Firefox的本地文件系统上什么样的下一票?这不是我写的,我想谢谢你
$.get('path/to/gethtml.php', function(response){
$('body').html(response);
});