删除javascript中的文件

删除javascript中的文件,javascript,Javascript,是否可以仅使用javascript删除目录中的文件?。我现在拥有的是一个index.php,它显示同一目录中的文件名,每个文件名都有一个复选框,底部是一个删除按钮。我想做的是,单击delete按钮后删除所有选中的复选框。这里我没有使用mysql,只是一个显示名称的普通php文件。有人能告诉我如何使用javascript删除选定的文件吗?您可以使用AJAX,并在服务器上使用PHP删除文件。 您不能使用纯javascript操作文件。出于安全原因,您不能使用javascript删除文件。坏人可以删除

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

您可以使用AJAX,并在服务器上使用PHP删除文件。
您不能使用纯javascript操作文件。

出于安全原因,您不能使用javascript删除文件。坏人可以删除你的系统文件:(但是,你可以使用服务器端语言的组合,例如PHP、ASP.NET等,使用所谓的

注意:Javascript正在向添加/成为服务器端语言选项的方向发展。就是一个例子

根据评论更新:

$(function(){
    $('a.delete').click(function(){
      $.ajax({
       url:'delete.php',
       data:'id/name here',
       method:'GET',
       success:function(response){
        if (response === 'deleted')
        {
           alert('Deleted !!');
        }
       }
      });
    });
});
   if (isset($_GET['id/name here']))
   {
     if (unlink('your_folder_path' . $_GET['id/name here']))
     {
       echo 'Deleted';
     }
   }
您可以删除类似以下内容的文件:

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

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

您不需要JavaScript,只需要一个HTML
表单
,它将文件名发送到服务器上删除文件的PHP脚本。请参阅。

在本例中,使用ajax函数或通过onclick函数中的JavaScript提供提交操作并刷新整个页面。

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


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

想象一下,如果JavaScript能够做到这一点,会有多有趣您可以访问在您的计算机上执行“rm-rf/”的站点:-d。实际上,您可以通过特定于浏览器的方式(例如通过Internet Explorer中的ActiveX对象)访问JavaScript中的文件系统@stakx我不会将ActiveX称为特定于JavaScript浏览器的方式…@deceze:为什么不呢?代码本身仍然会用JavaScript(或者EcmaScript,如果你愿意的话)编写,但它是特定于浏览器的。EcmaScript标准定义了某些标准对象(例如
日期
数学
),其他的,如
window
location
是事实上的浏览器对象模型标准的一部分,而其他的,如某些ActiveX组件的可用性,则更为特定于浏览器。我看不出问题所在。@stakx但您需要用Javascript以外的其他语言编写ActiveX组件,因此我建议更确切地说,这是一种浏览器特有的方式,可以被Javascript利用。我想这是一个观点。@deceze:我没有声称,也不打算说,ActiveX组件本身必须用Javascript编写(当然不是这样)。但是你可能是对的,我的评论可能会误导一些不了解ActiveX的人。你能根据我的问题描述给我一个ajax的例子吗?你能根据我的问题描述给我一个ajax的例子吗?非常感谢你的例子,先生,我在考虑使用手动ajax,但是这对我来说很难,哈哈,jquery是最好的。@sasori:你应该把它作为一个例子!如果没有额外的安全检查,当提交的文件名类似于
。/../etc/passwords
(假定服务器具有写入权限,但仍然…)时,这可能会变得非常危险。