2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > php翻译 ThinkPHP调用百度翻译类实现翻译

php翻译 ThinkPHP调用百度翻译类实现翻译

时间:2021-06-28 07:04:34

相关推荐

php翻译 ThinkPHP调用百度翻译类实现翻译

要实现ThinkPHP在线翻译功能,需要先在百度开发者中心注册一个API key,具体实现代码如下:

action代码部分:

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 = "/public/2.0/bmt/translate?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;

}

}

?>

html代码部分:

原文:

{$value}

译文:

{$rs}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。