基本上我想读取和写入一个文件,然后将所有编译的内容保存到另一个文件。
步骤:
-
假设我有一个文件mycode.js带有以下代码:
var url = ''; //this will be field throug form in php
-
现在在 php 中,我将输入该 url 的值,例如
www.google.com
-
如何将我刚刚输入的网址附加到我的 js 文件中?
预期产出:var url = 'www.google.com';
-
还遵循问题,成功将值附加到我的 JS 文件后,我现在将创建一个新文件(newlyappend.js),就像另存为一样。其中文件的内容是新附加的代码:
var url = 'www.google.com';
想使用 php 实现这一点。
以字符串形式获取.js
文件内容:
$js = file_get_contents( '/path/to/file/mycode.js' );
$js
现在将保存文件的内容。
将空变量行替换为值赋值:
$url = 'www.google.com';
$js = str_replace( "var url = '';", "var url = '$url';", $js );
将新内容写回新的 js 文件:
file_put_contents( '/path/to/file/newlyappend.js', $js );
确保您具有从指定路径读取和写入文件的适当权限。
你的 js 文件重命名为 mycode.php并像这样在文件中编写 php 代码,这样 php 引擎就会执行该文件
var url = "<?php echo($YOUR-URL); ?>";
现在在您的 html 文件中包含此文件,就像您在脚本标记中包含 js 文件一样。给出 src="mycode.php"。浏览器会将其视为js文件,您可以在javascript中访问可变URL。
最简单的解决方案是将PHP代码包含在HTML模板/网页的<script></script>
部分中,因为文件扩展名很可能是.php
:
<script>
var jsVar = "<?php echo $phpVar ?>";
</script>
对此的解决方案是使您的服务器解析所有以 .js
结尾的文件。如果.htaccess
不存在您希望在所有.js
文件中包含和运行PHP代码的目录中,只需创建一个。在 .htaccess 的末尾添加以下行:
AddType application/x-httpd-php .js
AddHandler x-httpd-php5 .js
在某些情况下,您也可以使用 php5-script 而不是 x-httpd-php5。您也可以尝试使用正则表达式来更好地匹配特定条件:
<FilesMatch "'.(js|php)$">
SetHandler application/x-httpd-php
</FilesMatch>
现在你可以在任何带有.js扩展名的JavaScript文件中添加所有PHP代码,当客户端请求文件时,服务器会自动解析并运行它们。希望这有帮助!:)