【问题标题】:How to delete file from folder using javascript?如何使用javascript从文件夹中删除文件?
【发布时间】:2013-11-01 06:03:55
【问题描述】:

有没有办法使用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();
        }
    }

【问题讨论】:

  • 让 PHP 使用 AJAX 调用删除文件(请先正确处理身份验证)。
  • 它是用户系统上的文件,还是服务器上的文件?
  • VINAY Kr. 爵士。 SHARMA 我不是来和你打架的..我没有投票给你 -1..所以如果你不能帮助我,请不要在这里回答
  • 我也不和你打架!我们在这里互相帮助。如果你认为我试图和你打架,那我很抱歉。

标签: javascript


【解决方案1】:

如果没有任何服务器端脚本,您将无法删除任何内容..

您实际上可以使用 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
          }
        });
    }
}

【讨论】:

    【解决方案2】:

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

    看起来像这样:

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

    我相当确定(尽管我没有尝试过)您可以在纯 javascript 中导入 fs node_module,但您必须仔细检查。

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

    npm i fs
    

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

    【讨论】:

      【解决方案3】:

      出于安全原因,您不能使用 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 !!');
          }
         }
        });
      });
      });
      

      【讨论】:

      • 是否可以在 php 中获取文件路径...我在 javascript 中获取文件名...我可以在同一函数中的 php 中获取它吗?
      • 我来自 .net,但这对于任何语言来说都是非常常见的情况,您可以在其中访问文件并删除文件...php.net/manual/en/function.pathinfo.php
      • 我的函数在点击事件时起作用..我如何在那里使用 pathinfo()?
      • 你必须在onclick事件中调用上面提到的java脚本代码......这个java脚本代码将在你可以使用php代码的地方进行服务器端ajax调用......
      【解决方案4】:

      你不能这样做。其实JavaScript is sandboxed是不允许做这种操作的。

      要删除文件,您需要一个服务器端脚本来实现这一点。这取决于您使用哪种服务器端语言来处理。

      【讨论】:

      • 那我应该怎么做才能删除文件但不使用php..iis有什么办法吗?
      • 要删除文件,您必须使用一种可以访问您的物理目录并对其执行操作的方式。所以答案是你必须使用服务器端脚本。
      【解决方案5】:

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

      【讨论】:

        【解决方案6】:

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

        unlink($path_to_file);
        

        【讨论】:

        • 我可以使用我目前使用的上述函数在 php 中获取文件路径吗?因为 m 在 javascript 变量中获取文件名.. 有可能吗?
        • 由于 javascript 是客户端脚本,而 php 是服务器端,因此您无法以您尝试过的方式将 javascript 变量直接传递给 php。您必须使用 ajax 调用将文件名传递给php函数。
        猜你喜欢
        • 2013-06-28
        • 1970-01-01
        • 2023-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-15
        • 2018-03-01
        相关资源
        最近更新 更多