如何将包含java或python代码的变量从php文件传输到空文件(.java或.py)


How to transfer a variable that contains a java or python code from php file to an empty file (.java or .py)?

请允许我将一个代码从变量$s转移到一个以(.java或.py)结尾的空文件中。您能帮忙吗?有什么提示吗?

<?php
$solution=$_GET['solution'];//i get this solution from outside
$PATH="C:'Program Files'Java'jdk1.7.0_09'bin";
$s=$solution;
//$u=implode("",$s0 );
    echo "<br />";
    echo exec("javac $s.java 2>&1");
    echo "<br />";
    echo exec("java $s 2>&1");
    echo "<br />";
    echo shell_exec("javac $s.java 2>&1 ");
    echo "<br />";
    ?>

如果您使用的是php版本5.x.x,那么。。

您要查找的是file_put_contents

file_put_contents($file, $current);

因此,您的代码应该按照以下方式使用它(根据我的理解),将所有文件内容组装/连接到一个变量中(比如$final),为字符串格式,然后使用前面提到的函数。

<?php
.......
$file = 'sample.java';
file_put_contents($file, $final);
?>

步骤1:使用php在文件系统上创建一个空文件(请参阅fopen)

步骤2:将代码写入文件(请参阅fwrite)

步骤3:关闭文件(请参阅fclose)

步骤4:根据您在fopen 中使用的文件名编译Java文件

步骤5:继续:)

下面的代码生成一个名为myFile.java的文件,该文件包含C:''Program Files下的"Your java code"。

名称"myFile"基于参数%s。

当然,javac不会成功编译myFile.java。因为它包含无效的java代码。

我不确定java代码中的特殊字符(例如,"[,],/,/,;,(,),")是否会导致fwrite()出现一些问题。所以我认为通过$_GET传递一个完整的java代码不是一个好主意。

<?php
$solution="Your Java Code";
$PATH="C:''Program Files''";
// $s=$solution; // $s is the java file name, you shouldn't assign a java code ($solution) to your java file name
$s = "myFile";
$file = fopen($PATH . $s . ".java", "w");
fwrite($file, $solution);
fclose($file);
echo "<br />";
echo exec("javac $s.java 2>&1");
echo "<br />";
echo exec("java $s 2>&1");
echo "<br />";
echo shell_exec("javac $s.java 2>&1 ");
echo "<br />";
?>