PHP javascript 逻辑错误中的 fopen()

PHP fopen() inside javascript logic bug

我想创建一个窃取到本地主机目录的文本文件。 下面是我的代码。

低于app.php

            document.getElementById("save_button").addEventListener("click", function() {
          
              var content =  document.getElementById("final_span").value();

              var file_name =document.getElementById("filename").value();
              <?php
              $fn = strstr($file_name,'.', true);

              $dir = "../project/Record";

              $file = fopen($dir."/".$fn.".txt","w+");

              fwrite($file, $content);

              fclose($file);
              ?>
            });
      </script>```

您的 js 将在浏览器中执行,php 是服务器端语言。你不能像你那样控制js内部的php。您可以通过 ajax 从您的 js 调用 php 文件并创建一个文件来实现。

    <script>  document.getElementById("save_button").addEventListener("click", function() {
              
                  var content =  document.getElementById("final_span").value;
    
                  var file_name =document.getElementById("filename").value;
    
    var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
          if (this.readyState == 4 && this.status == 200) {
            document.getElementById("txtHint").innerHTML = this.responseText;
          }
        };
        xmlhttp.open("GET", "app.php?file_name=" + file_name, true);
        xmlhttp.send();
    
    </script>

app.php

<?php $file_name= $_GET['file_name'];
              $fn = strstr($file_name,'.', true);

              $dir = "../project/Record";

              $file = fopen($dir."/".$fn.".txt","w+");

              fwrite($file, $content);

              fclose($file);
              ?>