如何将 php 的值附加到我的 JS 文件中


How to append a value from php inside my JS file?

基本上我想读取和写入一个文件,然后将所有编译的内容保存到另一个文件。

步骤:

  1. 假设我有一个文件mycode.js带有以下代码:

      var url = '';     //this will be field throug form in php
    
  2. 现在在 php 中,我将输入该 url 的值,例如www.google.com

  3. 如何将我刚刚输入的网址附加到我的 js 文件中?
    预期产出:

    var url = 'www.google.com';
    
  4. 还遵循问题,成功将值附加到我的 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代码,当客户端请求文件时,服务器会自动解析并运行它们。希望这有帮助!:)