file_get_contents() die Google-Text-to-Speech-audio-Datei nicht-englische/lateinische Zeichen
Suchte ich durch die vorhandenen threads konnte aber nichts finden, Lösungen,.. hier ist meine Frage.
Ich bin über die google-text-to-speech zum herunterladen von mp3-Dateien. Die Funktion funktioniert gut für englische Zeichen.. und Sprachen mit englischen Buchstaben. Leider für die russische (oder irgendeine nicht-lateinische Zeichen) mein Skript erzeugt die korrekte url, aber nicht das herunterladen von Inhalten (aber es tut download eine 0kb-Datei.. leer)
file_put_contents($filepath,file_get_contents("http://translate.google.com/translate_tts?tl=".$lang."&q=".rawurlencode($transtext).""));
So ein Beispiel französische Wort (Telefon) http://translate.google.com/translate_tts?tl=fr&q=t%C3%A9l%C3%A9phone
Wenn ich die Seite manuell eingeben aus, und laden Sie die Datei herunter, alles funktioniert.. aber nicht mit der file_get_contents
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie die input-encoding-parameter (
ie=UTF-8
) und Kodieren Sie den übersetzung text entsprechend.Beispielsweise der folgende PHP-Schnipsel verwendet werden können, um die Audiodatei herunterzuladen für "téléphone" (in Französisch) aus dem Google-TTS-Dienst. Merke, es funktioniert nicht richtig ohne die input-encoding-parameter.
Dies ist ein sehr sehr schlechter Weg, um den download einer Datei über HTTP, wie Sie benötigen, um die gesamte Datei in den Speicher. Entweder cURL oder fopen, beide sind einfach. Fragen wenn Sie weitere Hilfe benötigen, entweder mit.
le
Telefon (die nicht wirklich funktionieren wie eine echte url,.. richtig?)