如何使用js将文件从一个文件夹复制到另一个文件夹

时间:2010-11-06 06:40:05

标签: php javascript file

我面临着将图像从一个文件夹复制到另一个文件夹的问题。有可能通过JS手段请指导我,我有图像路径(例如:C:\Program Files\xampp\htdocs\gallary\images\addnew.gif)只是我想使用js。提前将图像复制到另一个文件夹。

2 个答案:

答案 0 :(得分:5)

您无法在网络浏览器中使用javascript执行此操作。 Javascript只能在查看网页的人的浏览器中执行代码,而不能在Web服务器上执行。即便如此,javascript仍然是“沙盒化”以确保安全性,因此无法访问用户文件等。如果您访问的每个网页都可以访问您的我的文档文件夹,请设想隐私问题!

但是,PHP可以在Web服务器上执行此操作(我假设你已经安装了PHP,因为你的图像路径中有XAMPP。相关的PHP函数是copy

bool copy ( string $source , string $dest [, resource $context ] )

在您的情况下,您可能想要这样称呼它:

   success = copy('C:\\Program Files\\xampp\\htdocs\\gallary\\images\\addnew.gif', 'C:\\images\\addnew.gif')
   if (!success){
      echo "Could not copy!"
   }

触发此文件副本的最简单方法是加载PHP网页。但是,如果您想通过javascript触发此文件复制,您可能需要考虑使用AJAX样式技术,其中javascript事件在后台向您的Web服务器发送HTTP请求。然后,Web服务器可以在PHP中执行文件复制。如果你采取这种方法,我建议你:

  1. 使用jQuery之类的built in functions等javascript API来简化这一过程。
  2. 非常小心安全性。您不希望有人在您的网站上窥探,以便能够删除或复制任意文件。

答案 1 :(得分:2)

您可以使用MS JScript http://msdn.microsoft.com/en-us/library/e1wf9e7w(VS.85).aspx

fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFile ("c:\\mydocuments\\letters\\*.doc", "c:\\tempfolder\\")

无法通过浏览器完成,但您可以直接在Windows(使用Windows脚本宿主)中运行它。您也可以使用node.js(服务器端javascript)来实现这一点,这将是一种更跨平台的方式。如果您尝试在客户端的浏览器中执行此操作,则出于明显的安全原因,无法使用任何语言。