zoenbo 发表于 2020-11-21 17:51

PHP怎么修改JS文件

本帖最后由 zoenbo 于 2020-11-23 23:01 编辑

PHP修改JS:神仙们,我想在页面1.php修改同目录下的1.js里 var area = [ ]里的内容和2.js里var arr_wx=[' ']里的内容,然后可以分别保存修改。这个怎么实现呢?

1.php
<div class="layui-form-item layui-form-text">
    <label class="layui-form-label">要修改的内容</label>
    <div class="layui-input-block">
      <textarea placeholder="请输入内容" class="layui-textarea">'北京', '广州', '郑州', '武汉', '珠海', '长沙', '昆明', '东莞', '昆山', '无锡', '阳江', '钦州', '天津', '厦门', '深圳', '株洲', '达州', '成都', '重庆', '北海', '福州', '梧州', '青海' </textarea>
<button type="submit" class="layui-btn" lay-submit="" lay-filter="demo1">立即修改</button>
    </div>
</div>

<div class="layui-form-item layui-form-text">
<label class="layui-form-label">要修改的内容II</label>
<div class="layui-input-block">
<textarea placeholder="请输入内容" class="layui-textarea">LOVEU</textarea>
<button type="submit" class="layui-btn" lay-submit="" lay-filter="demo1">立即修改</button>
</div>
</div>


1.js
    var area = ['北京', '广州', '郑州', '武汉', '珠海', '长沙', '昆明', '东莞', '昆山', '无锡', '阳江', '钦州', '天津', '厦门', '深圳', '株洲', '达州', '成都', '重庆', '北海', '福州', '梧州', '青海' ];
    var person = ['赵女士', '吴女士', '高女士', '郑女士', '刘女士', '王女士', '刘女士', '李女士', '罗女士', '罗女士', '黄女士', '孙女士', '朱女士', '何女士', '朱女士', '白女士', '陈女士', '邓女士', '叶女士'];

    function showToast(){
      var areaIndex = Math.round(Math.random()*(area.length - 1));
      var personIndex = Math.round(Math.random()*(person.length - 1));
      $("#toast_content").text("消息:来自" + area + "的" + person + "刚赞过");
      $("#toast").fadeIn();
      setTimeout("dismissToast()", 1500);
    }


2.js

var arr_wx=['LOVEU'];
var wx_index = Math.floor((Math.random()*arr_wx.length));
var wechatNum = arr_wx;

塞北的雪 发表于 2020-11-23 22:20

1.template.js
var area = ;
var person = ;

function showToast(){
    var areaIndex = Math.round(Math.random()*(area.length - 1));
    var personIndex = Math.round(Math.random()*(person.length - 1));
    $("#toast_content").text("消息:来自" + area + "的" + person + "刚赞过");
    $("#toast").fadeIn();
    setTimeout("dismissToast()", 1500);
}

php:<?php
//定义新的数据,可以自己设置,也可以从数据库中选择
$city=array('北京','上海','广州');
$female=array('赵女士', '吴女士', '高女士');
//读取模板
$template_str=file_get_contents('1.template.js');
//替换城市数据
$template_str=str_replace('__CITY__',join(',',$city),$template_str);
//替换女性数据
$template_str=str_replace('__FEMALE__',join(',',$female),$template_str);
//写入目标文件
file_put_contents('1.js',$template_str);
?>

纯手打,没测试,自己改改吧

linguo2625469 发表于 2020-11-21 18:16

你是想在1.php里点击修改时改变1.js数组里的内容呗。。 那你要在1.js里写代码才可以的因为你在1.js里写的var area =只能在1.js里访问修改

zoenbo 发表于 2020-11-21 18:18

linguo2625469 发表于 2020-11-21 18:16
你是想在1.php里点击修改时改变1.js数组里的内容呗。。 那你要在1.js里写代码才可以的因为你在1.js里写 ...

对对对,就是那意思,有法子实现吗?

woshicp 发表于 2020-11-21 18:20

在js里写一个修改参数的api,调用api来修改就好。
本人也不太懂。

zoenbo 发表于 2020-11-21 18:20

woshicp 发表于 2020-11-21 18:20
在js里写一个修改参数的api,调用api来修改就好。
本人也不太懂。

我是完全懵逼状态 哈哈

zoenbo 发表于 2020-11-21 19:47

programcat 发表于 2020-11-21 19:43
先 file_get_content,然后正则匹配出想要改的那些内容提取出来,改正新值,替换掉之前的内容,再 file_put ...

这也太复杂了 打死我都写不出来

塞北的雪 发表于 2020-11-23 15:07

1、建立1.js和2.js的模板文件
2、PHP生成随机数据
3、读取模板,并替换相关数据标签
4、写入1.js和2.js

如果发到悬赏问答区,估计会更快被人答复了

c03xp 发表于 2020-11-23 15:30

fopen
fread ,把文件内容读入缓存。
修改缓存内容,也就是修改数组元素
fclose
用rename把原文件重命名
fopen,创建新文件
fwrite缓存写入新文件

zoenbo 发表于 2020-11-23 16:39

塞北的雪 发表于 2020-11-23 15:07
1、建立1.js和2.js的模板文件
2、PHP生成随机数据
3、读取模板,并替换相关数据标签


发了个悬赏,昨晚到现在都一直无人问津

zoenbo 发表于 2020-11-23 16:40

c03xp 发表于 2020-11-23 15:30
fopen
fread ,把文件内容读入缓存。
修改缓存内容,也就是修改数组元素


好复杂的样子,凭我的能力,估计一个月后才能出结果
页: [1] 2
查看完整版本: PHP怎么修改JS文件