【问题标题】:PHP include('file.txt') in JavascriptJavascript 中的 PHP 包含('file.txt')
【发布时间】:2017-09-07 07:38:01
【问题描述】:

我正在使用从整个站点中的几个 .txt 文件中读取的字符串来使用 PHP 包含填充某些字段,并且除了一个之外,它们都可以正常工作。

我需要用其中一个文本文件中的值替换我的 javascript 代码中的某个变量(它必须是 javascript,它正在替换 tumblr post 标记)。像我在其余代码中所做的那样使用 <?php include('file.txt'); ?> 不起作用。

如果我手动输入标签而不是尝试从文件中读取,并且文本文件只包含一个需要读取并用作 js 变量的单字字符串,则 javascript 可以完美运行。

有没有简单的方法来做到这一点?我对这一切还是陌生的。提前致谢。

【问题讨论】:

标签: javascript php html text


【解决方案1】:

是的,当然。 PHP 仅适用于 PHP 文件(如果是默认配置)。所以 JS 中的 PHP 只会产生文字字符串,而不是文件的内容。

如果你真的想这样做,把PHP文件伪装成JS文件:

// javascript.php
<?php
header('Content-Type: application/javascript');
include("file.txt");
?>
alert(1); // something from the file.

【讨论】:

  • 如果我这样做,将它读入我的 index.php 页面上的 javascript 变量的最简单方法是什么?
  • 你不知道。 PHP 在服务器上构建,然后发送给用户。只有这样 JS 才会被执行。因此,当您处于 JS 点时,PHP 已停止。如果你想把它还给 PHP,你将不得不 AJAX 或提交一个表单(后者更容易理解流程)
  • @christoalberts 如果您在 index.php 文件中有 javascript,那么您可以将我提出的解决方案与 file_get_contents 一起使用并在 javascript 变量中回显...
  • 这个我试过了,但是好像不行?我的 Javascript 在 index.php 文件中,但在脚本标签中使用 php 似乎对我不起作用。
  • 检查控制台给出的任何错误。并查看实际源代码以了解实际代码是如何呈现的。
【解决方案2】:

*edit:抱歉,我误解了您的问题,并认为您是通过 PHP 生成 javascript。但是,您可能需要考虑整体使用不同的方法而不是 include() 来更改整个应用程序中的变量。


PHPs include() 用于包含 PHP 代码,然后由 PHP 引擎解释。如果您只想从文本文件中读取内容,请考虑使用 &lt;?php echo file_get_contents('file.txt'); ?&gt; 之类的内容。

http://php.net/manual/de/function.file-get-contents.php

【讨论】:

  • 唯一需要做的就是使用服务器端 txt 文件中的短字符串填充 javascript 变量,因此我们将不胜感激任何其他建议。
【解决方案3】:
<?php 
$file = include('file.txt'); 
?>

将此变量放入 javascript 代码中

在javascript中

var Text = &lt;?=$file?&gt;

类似

var Text = &lt;? print $file?&gt;

【讨论】:

    【解决方案4】:

    感谢各位的帮助。

    我通过在页面中添加一个隐藏段落来解决它,&lt;p id="hiddentag" hidden="hidden"&gt;&lt;?php include('file.txt'); ?&gt;&lt;/p&gt;

    然后使用 var tag = document.getElementById("hiddentag").innerHTML; 完美运行。

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-24
      • 1970-01-01
      • 1970-01-01
      • 2011-03-15
      • 1970-01-01
      相关资源
      最近更新 更多