1

我实际上需要使用 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;
4

1 回答 1

0

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

编辑$en从哪里来$lang_en?另外,这些不能作为参数传递给函数吗?为什么必须对它们进行硬编码?

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

';

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

您可能还想阅读 heredocs 上的大块文本,但不幸的是,除非您用反斜杠将它们全部转义,否则这些将替换您的变量。

于 2012-12-09T17:12:12.537 回答