当在页面上点击指向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不是很有经验,我知道点击脚本需要是客户端:(
如果有人能帮助我,请提前感谢,欢呼
答案 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检查,并清理来自客户端的任何数据,但是如果你自己做一些阅读和测试,你会认为它很快就会出现,它实际上并不那么难,只需几行代码即可获得一个基本的例子,说明你要做什么和运行。