Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从另一个文件中获取代码并将所有内容写入一个文件?_Javascript_Php_Html - Fatal编程技术网

Javascript 如何从另一个文件中获取代码并将所有内容写入一个文件?

Javascript 如何从另一个文件中获取代码并将所有内容写入一个文件?,javascript,php,html,Javascript,Php,Html,我需要使用htmlspecialchars,但它只接受文件的地址,我可以让它接受代码而不是地址吗 return "<script src='" . htmlspecialchars('static/functions.js', ENT_QUOTES, 'utf-8') . "'" . nonce() . "></script>\n"; function nonce() { return ' nonce="' . get_nonce() . '"'; } f

我需要使用htmlspecialchars,但它只接受文件的地址,我可以让它接受代码而不是地址吗

return "<script src='" . htmlspecialchars('static/functions.js', ENT_QUOTES, 'utf-8') . "'" . nonce() . "></script>\n";


function nonce() {
    return ' nonce="' . get_nonce() . '"';
}


function get_nonce() {
    static $nonce;
    if (!$nonce) {
        $nonce = base64_encode(rand_string());
    }
    return $nonce;
}
返回“\n”;
函数nonce(){
返回'nonce=“”。get_nonce()。';
}
函数get_nonce(){
静态$nonce;
如果(!$nonce){
$nonce=base64_编码(rand_string());
}
返回$nonce;
}

HTML
为什么您觉得需要在javascript代码上运行htmlspecialchars?它是否包含有问题的内容?如果是这样,为什么您不能控制它呢?在字符串
static/functions.js
上运行
htmlspecialchars()
而不是在名为
static/functions.js
htmlspecialchars
的文件的内容上运行,它只接受字符串值作为第一个参数,而不是“地址”,也不接受任何其他参数。这里要问的正确问题是,如何将JS文件的内容读入PHP中的字符串变量(这是您希望能够自行研究的内容。)什么都不懂:)@menfix ok,关键是,除非您认为Javascript包含恶意代码/HTML,您不需要使用htmlspecialchars来处理它。如果它确实包含恶意的东西,为什么?这是你的代码,所以修复它。你根本没有解释为什么你认为你需要这么做。听起来可能是技术上的误解,也可能不是真的,我想取出文件的全部内容,在没有文件的情况下使用代码。但是我不知道在这种情况下如何使用HTMLSpecialChars,您要做的是直接将内容回显到HTML中,在块内部,而不是在块的
src
中。类似于,
但是如何添加我的nonce函数?你希望它做什么?对……但是你说你不想让浏览器获取文件,而是让JavaScript代码直接放入HTML中。那么,你想用nonce实现什么呢?每次php运行时,服务器都将获取该JavaScript文件并输出它,您不需要在其上设置缓存破坏参数。
<div>
  <span>Some regular HTML content</span>
</div>
<script>
  <?php 
      // we're now in PHP, about to store some JavaScript as a string
      $js = <<<EOD
console.log("I am a JavaScript console message!");
console.log("Me too!");
EOD; // note this can't be indentend or spaced, it has to be flush left


     // we can 'echo' the JavaScript directly into the HTML
      echo $js;
  ?>
</script>