作者:阿斌之摩羯座 | 来源:互联网 | 2022-05-01 03:12
要实现ThinkPHP在线翻译功能,需要先在百度开发者中心注册一个API key,具体实现代码如下:
action代码部分:
<&#63;php
class FanyiAction extends Action {
public function _empty(){
header("HTTP/1.0 404 Not Found");
$this->display("Public:404");
}
public function index()
{
$User = A("Index");
$User->head();
$User->right();
$User->footer();
$this->display();
}
public function fanyi()
{
$value=$_POST['value'];
$from="auto";
$to="auto";
$value_code=urlencode($value);
$appid="xxxxxxxx";//这里填写你在百度上申请的API key
$languageurl = "http://openapi.baidu.com/public/2.0/bmt/translate&#63;client_id=" . $appid ."&q=" .$value_code. "&from=".$from."&to=".$to;
$text=json_decode($this->language_text($languageurl));
$text = $text->trans_result;
$rs=$text[0]->dst;
$this->assign('value',$value);
$this->assign('rs',$rs);
$User = A("Index");
$User->head();
$User->right();
$User->footer();
$this->display(index);
}
public function language_text($url) //获取目标URL所打印的内容
{
if(!function_exists('file_get_contents'))
{
$file_cOntents= file_get_contents($url);
}
else
{
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_cOntents= curl_exec($ch);
curl_close($ch);
}
return $file_contents;
}
}
&#63;>
html代码部分: