代码之家  ›  专栏  ›  技术社区  ›  sasori

在javascript中删除文件

  •  0
  • sasori  · 技术社区  · 14 年前

    是否可以只使用javascript删除目录内的文件?。我现在拥有的是index.php,它显示同一目录中的文件名,每个文件名和底部的复选框是一个删除按钮。我要做的是,单击“删除”按钮后删除所有选中的复选框。这里我没有使用MySQL,只是一个显示名称的普通PHP文件。有人能告诉我如何使用javascript删除选定的文件吗?

    5 回复  |  直到 14 年前
        1
  •  4
  •   Sarfraz    14 年前

    不能删除带有javascript的文件 安全原因 . 坏人可以删除你的系统文件:(但是,你可以结合使用服务器端语言,如php、asp.net等,使用所谓的 Ajax .

    注: Javascript正转向添加/成为服务器端语言选项。 Node JS 就是一个例子。

    基于注释更新:

    您可以删除如下文件:

    <a href="#" class="delete">Delete</a>
    

    jquery:查询:

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

    PHP:

       if (isset($_GET['id/name here']))
       {
         if (unlink('your_folder_path' . $_GET['id/name here']))
         {
           echo 'Deleted';
         }
       }
    
        2
  •  4
  •   Jarek    14 年前

    您可以使用Ajax,并在服务器上使用PHP删除文件。 不能使用纯JavaScript中的文件进行操作。

        3
  •  1
  •   James M.    14 年前

    您需要在PHP中基于内置的unlink()函数实现文件删除函数。小心这里!!例如,您应该读取文件名列表并为每个文件名计算一个ID,并且您的删除函数将接受ID而不是真正的文件名。

    然后,当您将文件列表发送到浏览器时,它将生成的ID包括在javascript中作为隐藏字段或对象属性等,您可以使用HTTP请求根据复选框发送要删除的文件ID列表。您的PHP脚本将调用ID的删除函数。

        4
  •  0
  •   Aaron Digulla    14 年前

    你不需要JavaScript,只需要一个HTML form 它将文件名发送到服务器上删除文件的PHP脚本。见 this example .

        5
  •  0
  •   Karthik    14 年前

    在这里,使用ajax函数或通过javascript在onclick函数中提供提交操作并刷新整个页面。