重复问题描述:页面一输入文字,$_POST["name"]传递到第二个页面,第二个页面自动生成一个JS文件,并加载到第二个页面上。$js=“(function() {
... ...
\"http://localhost/".$_POST["name"]."+comic.php\";
... ...
}”;
file_put_contents("xxx.js", $js);
http://topic.csdn.net/u/20100719/02/8a84edb4-7d30-4902-9b9d-035754cbe1df.html?40564
现在PHP生成JS文件已经解决了。(感谢各路高手,已结贴给分)还有一个问题:如何把生成的JS文件名字,按 $_POST["name"]+生成时间(年月日时分秒).JS 命名。
如: 当$_POST["name"]为 gone with the wind ,生成时间为 2010年7月19日18点10分10秒时:
生成的JS名字为  gone with the wind20100719181010.JS,生成后自动加载到该PHP页面,当关闭PHP页面后,该JS自动删除?

解决方案 »

  1.   

    关闭的时候向后台发送一个请求,执行删除js的命令,有一点我不明白,你为什么要把js名称按时间命名呢?定义一个文件名称,等下次请求的时候可以直接覆盖就不会有多余的文件了吧
      

  2.   

    在PHP页面的HTML代码部分<body onunload='deleteJS();'>
    在deleteJS()函数中发送xmlhttp请求给服务器的某个php脚本,在这个php中执行system('delete xxx.js');
      

  3.   

    关闭无法判断吧
    比如按下f5是不是js就载入不了了?
      

  4.   

    生成时间可以是time()
    最好加上用户id如果有的话,或者加上一串随机字符串。
      

  5.   

    JS是不会被删除的要记住JS是客户端脚本,你不能通过网页不经过用户操作就进行删除相关文件吧?这样不就变成病毒了?(你是不是指要在服务器端生成随机JS?)
    你是想删除还是想做同一用户不再生成的处理?如果相同用户不生成的处理,就只能用COOKIE处理了,记住生成的JS文件进行判断处理。
      

  6.   

    <body onunload='deleteJS();'>会不会删除该页面加载的所有JS文件?比如JQUERY.MIN.JS?
    <body onunload='deleteJS();'>是不是可以指定文件夹?比如我把生成的JS放在A文件夹里,JQUERY.MIN.JS放在B文件夹里?
      

  7.   

    加上用户id如果有的话,如果一个用户同时打开多个窗口同时查询,是不是第二次查询时生成的JS会覆盖掉第一次查询时生成的JS?会不会混乱?
    随机字符串可以考虑……
      

  8.   

    system()是一个PHP的函数,用于调用服务器的命令,这个del命令后面的参数是可以由你指定的,也就是由你指定删除哪个文件。
      

  9.   

    这个onunload+system()很陌生,能不能给个简单的例子说明一下呀?刚考虑了一下,file_put_contents("".$_POST["name"].".js", $js);可能也够用了,生成和加载JS的代码都写在同一个PHP页面里,实际上生成后立即被下载到客户端电脑的临时文件夹里面了,这个是一个很短的时间。
    存在2个用户同时用该关键字,生成相同名的JS,一个用户还没加载完该JS即经被另一个用户 因关闭页面而删除的可能性很微小。
      

  10.   

    周二系统返回了一些分数,加分继续求助。
    现在问题简单点了。1:如何使用$str=stripcslashes($str)代码,在输出<?php echo $_POST["name"]?>时,取消转义斜杠?比如我打 I'm,POST以后,输出的是 i\'m。2:如何用使用,在关闭PHP页面后自动删除服务器上刚生成的JS文件。