如何使用javascript从文件夹中删除文件?

时间:2013-11-01 06:03:55

标签: javascript

有没有办法使用javascript从文件夹中删除文件..?这是我的功能

function deleteImage(file_name)
    {
        var r = confirm("Are you sure you want to delete this Image?")
        if(r == true)
        {
            var file_path = <?php echo dirname(__FILE__) . '/uploads/'?>+file_name;
            file_path.remove();
        }
    }

6 个答案:

答案 0 :(得分:16)

如果没有任何服务器端脚本,则无法删除任何内容。

您实际上可以使用ajax并调用服务器端文件来执行此操作。例如

制作文件delete.php

<?php 
   unlink($_GET['file']);
?>

并在javascript中

function deleteImage(file_name)
{
    var r = confirm("Are you sure you want to delete this Image?")
    if(r == true)
    {
        $.ajax({
          url: 'delete.php',
          data: {'file' : "<?php echo dirname(__FILE__) . '/uploads/'?>" + file_name },
          success: function (response) {
             // do something
          },
          error: function () {
             // do something
          }
        });
    }
}

答案 1 :(得分:2)

出于安全原因,您无法使用javascript删除文件。但是,您可以使用Ajax等服务器端语言(如PHP,ASP.NET等)的组合来执行此操作。下面是您可以在代码中添加的示例ajax调用。

$(function(){
$('a.delete').click(function(){
  $.ajax({
   url:'delete.php',
   data:'id/name here',
   method:'GET',
   success:function(response){
    if (response === 'deleted')
    {
       alert('Deleted !!');
    }
   }
  });
});
});

答案 2 :(得分:0)

你不能这样做。实际上JavaScript is sandboxed并且它不允许进行此类操作。

要删除文件,您需要服务器端脚本来实现此目的。这取决于您使用的服务器端语言处理的事实。

答案 3 :(得分:0)

Javascript是一种客户端脚本语言。如果要从服务器删除文件,请改用php。

答案 4 :(得分:0)

使用javascript无法做到这一点。但是如果文件驻留在服务器中,那么你可以使用php来做到这一点..你可以在php中使用unlink。

unlink($path_to_file);

答案 5 :(得分:0)

使用NodeJS,您也可以使用文件流取消链接文件。

它看起来像这样:

(define remove-first
  (lambda (li num)
    (if
      (= num (car li))
    (else
      (remove-first (cdr li) num)
    )
    )
  )
)

我相当肯定(虽然我没有尝试过)你可以在普通的javascript中导入fs node_module,但是你必须仔细检查。

如果您无法导入模块,您可以随时在您的机器上下载NPM,

var fs = require('fs');
fs.unlink('path_to_your_file+extension', function (err) {
    //Do whatever else you need to do here
});

在某个目录(命令行)中,从该模块中获取要在标记页面上使用的javascript类。