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);

また、大きなテキスト ブロックについてはヒアドキュメントを読みたいと思うかもしれませんが、残念ながら、すべてをバックスラッシュでエスケープしない限り、それらは変数を置き換えてしまいます。

于 2012-12-09T17:12:12.537 に答える