如何使用javascript删除文件?
在这些例子中运气不佳:如何使用javascript删除文件?,javascript,jquery,html,user-interface,file,Javascript,Jquery,Html,User Interface,File,在这些例子中运气不佳: 该文件没有特殊权限。 有没有一种方法可以做到这一点 要求是-当加载另一个页面时,必须从web目录中删除某个文件。没有安全问题,因为这是在封闭的网络上 感谢您的帮助 谢谢。您不能通过HTTP删除文件(理论上您可以,但尚未实现) 最简单的方法是设置一个小型服务器端脚本(例如,在ASP或PHP中)并从JavaScript调用该脚本。服务器端脚本需要适当的权限来执行删除,但在其他方面没有问题 在PHP中,开始看起来是这样的:(没有将解决方案扩展为完全安全的解决方案,因为您没
该文件没有特殊权限。
有没有一种方法可以做到这一点 要求是-当加载另一个页面时,必须从web目录中删除某个文件。没有安全问题,因为这是在封闭的网络上 感谢您的帮助
谢谢。您不能通过HTTP删除文件(理论上您可以,但尚未实现) 最简单的方法是设置一个小型服务器端脚本(例如,在ASP或PHP中)并从JavaScript调用该脚本。服务器端脚本需要适当的权限来执行删除,但在其他方面没有问题 在PHP中,开始看起来是这样的:(没有将解决方案扩展为完全安全的解决方案,因为您没有说明您在哪个平台上)
使用纯JavaScript,这是不可能做到的。不过,使用AJAX调用服务器端脚本来删除文件还是可以的。您不能仅使用在访问者浏览器中运行的JavaScript来删除远程服务器上的文件。这必须通过服务器端脚本来完成。Javascript无法删除文件,它是被阻止的,因为它会导致巨大的安全漏洞。这些链接用于通过JS处理的ActiveX控件。使用服务器端语言。如果您是以RESTFUL方式执行此操作,则会发送一个 jQuery声明您可以使用method参数指定“DELETE”,但注意到一些浏览器可能不支持它
显然,您需要一个Web服务器来接受删除请求,并应用某种身份验证/授权,以便joe random visitor无法删除您的文件。我相信Apache会让您从这里开始。Javascript是一种客户端语言。所以您不能直接删除服务器上的文件。您提供的所有示例可能仅用于删除本地计算机上的文件,而不用于删除服务器上的文件
但您可以调用一些服务器页面函数来删除文件。您不能使用JavaScript删除文件,因为它在本地运行。因此,它甚至不涉及外部文件 您需要使用能够编辑文件(如PHP、RoR或ASP)的服务器端语言
但是,您可以使用jQuery通过AJAX(如$.get或$.post)调用服务器端代码,然后服务器端代码将其删除,就好像JS正在删除文件一样。ActiveX仅在IE浏览器上工作。[访问此链接获取帮助:)这里有人已经使用jQuery和AJAX回答了这个问题。][1][1]:我只想再次强调代码中的警告,以供快速阅读此代码的人使用-此代码允许您删除脚本有权删除的任何文件。永远不要上传到任何地方@里奇:是的。我添加了基本的安全性(对硬编码的基本目录的限制)
<?
// STILL INSECURE!!!!
// Do not use in any public place without authentication.
// Allows deletion of any file within /my/files
// Usage: filename.php?file=filename
$basedir = "/my/files";
$file_to_delete = $_REQUEST["file"];
$path = realpath($basedir."/".$file_to_delete);
if (substr($path, 0, strlen($basedir)) != $basedir)
die ("Access denied");
unlink($path);
?>
http://yourserver/directory/delete_file.php?file=directory/filename