使用PHP文件导出PHP代码

时间:2012-12-09 17:10:54

标签: php export

我需要使用PHP脚本或PHP命令实际生成.PHP文件。文件生成将包含以下代码:

<?php
class TextToSpeech {
    public $mp3data;
    function __construct($text="") {
        $text = trim($text);
        if(!empty($text)) {
            $text = urlencode($text);
            $lang_en="http://translate.google.com/translate_tts?tl=en&q={$text}";
            $lang_ro="http://translate.google.com/translate_tts?tl=ro&q={$text}";
            $lang_fr="http://translate.google.com/translate_tts?tl=fr&q={$text}";
            $language=$lang_en;
            $this->mp3data = file_get_contents($language);
        }
    }

    function setText($text) {
        $text = trim($text);
        if(!empty($text)) {
            $text = urlencode($text);
            $en="http://translate.google.com/translate_tts?tl=en&q={$text}";
            $ro="http://translate.google.com/translate_tts?tl=ro&q={$text}";
            $fr="http://translate.google.com/translate_tts?tl=fr&q={$text}";
            $lang=$en;
            $this->mp3data = file_get_contents($lang);
            return  $this->mp3data;
        } else { return false; }
    }

    function saveToFile($filename) {
        $filename = trim($filename);
        if(!empty($filename)) {
            return file_put_contents($filename,$this->mp3data);
        } else { return false; }
    }
}
?>

我想这样做是因为我想对语言有多种选择:

$language=$lang_en;

$lang=$en;

1 个答案:

答案 0 :(得分:1)

不确定你的问题在这里。生成PHP文件与生成任何其他类型的文件没有什么不同。构建一个你想要编写的源代码字符串,然后一个简单的file_put_contents('filename.php', $contents);就可以了。

修改$en$lang_en来自哪里?另外,这些不能作为参数传递给函数吗?为什么他们必须硬编码?

$contents = '
<?php
   // your PHP here

';

file_put_contents('filename.php', $contents);

您可能还想阅读heredocs以获取大块文本,但遗憾的是,除非您使用反斜杠将它们全部转义,否则它们将替换您的变量。