2012-12-08 2 views
1

이 코드를 작동 시키려고하고 있지만 그렇게하지는 않습니다. 누군가 제발 도와주세요.정의되지 않은 변수 오류 TTS PHP 스크립트

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

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

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

두 번째 파일의 index.php :이 첫 번째 파일, tts.php입니다

<?php 
require "tts.php"; 
$tts = new TextToSpeech(); 
$tts->setText("Hello World!"); 
$tts->saveToFile("voice.mp3"); 
?> 

그리고 이것은 오류이다 : 나는의 코드를 실행하는거야 * The error

로컬 호스트

+1

구글이 번역 서비스에 대한 자동화 된 요청을 좋아하지 않는다, 당신이 차단되거나 오류가 발생할받을 가능성이 있음을 유의해야한다. – Charles

+2

많이 고맙습니다. 그렇다면 프록시를 사용하겠습니다. –

답변

2

return $mp3data;는해야 return $this->mp3data;

+2

많이 verry 고맙습니다! –

1
return $this->mp3data; 

대신

return $mp3data; 
+1

많이 고맙습니다! –

0

의 당신은 ...

return $this->mp3data; 
1

라인 27 setText() 기능에 아마도이 라인에 행

return $mp3data; 

을 변경해야합니다

return $mp3data; 

그것은

return $this->mp3data; 
+1

많이 verry 고맙습니다! –