javascript写入.txt文件onclick

时间:2012-02-12 21:55:15

标签: javascript onclick flat-file

当在页面上点击指向swf文件的链接时,我在灯箱中打开了一些swf应用程序

它是触发灯箱所需的纯粹标准链接

<a href"http:// {url} /swf/ {file} .swf">Name</a>

我一直在尝试实现一个脚本来编写时间戳(日期('U')在php编码中,因为这是我需要时间戳的格式)和链接的“href”值点击到txt文件...我一直在使用onClick =“function()”

但我似乎无法让它发挥作用......

我希望将行写入txt文件,如下所示

1328984654|http:// {url} /swf/ {file} .swf
1328984829|http:// {url} /swf/ {file2} .swf

我认为换行符是用\ r \ n

实现的

我不一定需要写文件扩展名,但是我认为只写一个完整的链接网址会更容易....

我一直在使用的方法是提交onclick的隐藏形式,但它不是很经济,因为我需要隐藏的iframe等等......太多的工作,当我认为这可以在一个脚本中实现时.. ..

我可以轻松更改现有的链接生成脚本,以便添加

onClick="new_function()"

或其任何变体,以便能够将其链接到函数....

我对javascript不是很有经验,我知道点击脚本需要是客户端:(

如果有人能帮助我,请提前感谢,欢呼

1 个答案:

答案 0 :(得分:1)

Javascript无权访问服务器文件系统,无法向文件写入任何内容。但是,您可以使用javascript(读取Ajax)来运行PHP文件,该文件将您发送的任何数据写入文件。

对于使用jQuery的Ajax请求是迄今为止最简单的解决方案,因为在vanilla JS中编写XMLHttpRequests有点复杂。在jQuery中你会做类似的事情:

HTML:

<a href"http:// {url} /swf/ {file} .swf" id="mylink">Name</a>

-

$("#mylink").click(function() {
    $.ajax({ 
       type: 'POST', 
       data: {swf : '1328984654|http: {url} /swf/ {file} .swf'}, 
       url: 'write_to_file.php',
       success: function(data) {
          alert('file saved');
       },
       error: function() {
          alert('error');
       }
    });
});

在PHP中,您将从$ _POST超全局获取数据,如下所示:

$data = $_POST['swf'];

然后使用file_put_contents或许多其他解决方案之一将数据保存到您的文件中,并且由于您已经使用了表单,我不打算进入该部分。您还可以在PHP中生成时间戳并同时追加它,不需要在JS中执行此操作。它当然比这更多涉及,例如你应该对$ _POST执行正常的isset检查,并清理来自客户端的任何数据,但是如果你自己做一些阅读和测试,你会认为它很快就会出现,它实际上并不那么难,只需几行代码即可获得一个基本的例子,说明你要做什么和运行。