我需要使用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;
答案 0 :(得分:1)
不确定你的问题在这里。生成PHP文件与生成任何其他类型的文件没有什么不同。构建一个你想要编写的源代码字符串,然后一个简单的file_put_contents('filename.php', $contents);
就可以了。
修改:$en
和$lang_en
来自哪里?另外,这些不能作为参数传递给函数吗?为什么他们必须硬编码?
$contents = '
<?php
// your PHP here
';
file_put_contents('filename.php', $contents);
您可能还想阅读heredocs以获取大块文本,但遗憾的是,除非您使用反斜杠将它们全部转义,否则它们将替换您的变量。