Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用java脚本打印文件夹中的所有txt文件_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用java脚本打印文件夹中的所有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

我需要使用javascript打印HTML中目录中的所有txt文件。 我试图修改处理照片的代码,但没有成功

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);

});