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; 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);
?>
纯手打,没测试,自己改改吧 你是想在1.php里点击修改时改变1.js数组里的内容呗。。 那你要在1.js里写代码才可以的因为你在1.js里写的var area =只能在1.js里访问修改 linguo2625469 发表于 2020-11-21 18:16
你是想在1.php里点击修改时改变1.js数组里的内容呗。。 那你要在1.js里写代码才可以的因为你在1.js里写 ...
对对对,就是那意思,有法子实现吗? 在js里写一个修改参数的api,调用api来修改就好。
本人也不太懂。 woshicp 发表于 2020-11-21 18:20
在js里写一个修改参数的api,调用api来修改就好。
本人也不太懂。
我是完全懵逼状态 哈哈 programcat 发表于 2020-11-21 19:43
先 file_get_content,然后正则匹配出想要改的那些内容提取出来,改正新值,替换掉之前的内容,再 file_put ...
这也太复杂了 打死我都写不出来 1、建立1.js和2.js的模板文件
2、PHP生成随机数据
3、读取模板,并替换相关数据标签
4、写入1.js和2.js
如果发到悬赏问答区,估计会更快被人答复了 fopen
fread ,把文件内容读入缓存。
修改缓存内容,也就是修改数组元素
fclose
用rename把原文件重命名
fopen,创建新文件
fwrite缓存写入新文件
塞北的雪 发表于 2020-11-23 15:07
1、建立1.js和2.js的模板文件
2、PHP生成随机数据
3、读取模板,并替换相关数据标签
发了个悬赏,昨晚到现在都一直无人问津 c03xp 发表于 2020-11-23 15:30
fopen
fread ,把文件内容读入缓存。
修改缓存内容,也就是修改数组元素
好复杂的样子,凭我的能力,估计一个月后才能出结果
页:
[1]
2