ThinkPHP调用百度翻译类实现在线翻译


Posted in PHP onJune 26, 2014

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

action代码部分:

<?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?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代码部分:

<div id="content">
<div style="padding:5px;">
<form action="__APP__/fanyi/" method="POST" name="fanyi">
<p>原文:</p>
<textarea name="value" id="yuanwen" rows="10" cols="80" style="padding:5px;width: 661px; height: 217px;">{$value}</textarea>
<input type="submit" class="search-submit" value="翻 译" style="text-align:center;">
    
<input type="reset" onclick="reset()" class="search-submit" value="清 空" style="text-align:center;">
</form>
<p>译文:</p>
<textarea name="rs" id="yiwen" rows="10" cols="80" style="padding:5px;width: 661px; height: 217px;">{$rs}</textarea> </div>
</div>
PHP 相关文章推荐
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
Jul 01 PHP
PHP多个版本的分析解释
Jul 21 PHP
PHP操作Memcache实例介绍
Jun 14 PHP
php文件夹与文件目录操作函数介绍
Sep 09 PHP
php实例分享之二维数组排序
May 15 PHP
php向js函数传参的几种方法
Aug 10 PHP
php+html5使用FormData对象提交表单及上传图片的方法
Feb 11 PHP
php中instanceof 与 is_a()区别分析
Mar 03 PHP
yii2中使用Active Record模式的方法
Jan 09 PHP
PHP读取zip文件的方法示例
Nov 17 PHP
PHP+MYSQL实现读写分离简单实战
Mar 13 PHP
PHP实现的ID混淆算法类与用法示例
Aug 10 PHP
使用ThinkPHP+Uploadify实现图片上传功能
Jun 26 #PHP
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
Jun 26 #PHP
ThinkPHP实现将本地文件打包成zip下载
Jun 26 #PHP
ThinkPHP实现一键清除缓存方法
Jun 26 #PHP
destoon实现商铺管理主页设置增加新菜单的方法
Jun 26 #PHP
destoon在360浏览器下出现用户被强行注销的解决方法
Jun 26 #PHP
实现在同一方法中获取当前方法中新赋值的session值解决方法
Jun 26 #PHP
You might like
计数器详细设计
2006/10/09 PHP
PHP中Session的概念
2006/10/09 PHP
深入解析php模板技术原理【一】
2008/01/10 PHP
php启动时候提示PHP startup的解决方法
2013/05/07 PHP
php5.x禁用eval的操作方法
2018/10/19 PHP
this和执行上下文实现代码
2010/07/01 Javascript
Prototype的Class.create函数解析
2011/09/22 Javascript
jQuery实现表格颜色交替显示的方法
2015/03/09 Javascript
javascript实现在下拉列表中显示多级树形菜单的方法
2015/08/12 Javascript
如何使用jquery修改css中带有!important的样式属性
2016/04/28 Javascript
javascript如何定义对象数组
2016/06/07 Javascript
jQuery子元素过滤选择器用法示例
2016/09/09 Javascript
微信小程序之picker日期和时间选择器
2017/02/09 Javascript
php中and 和 &amp;&amp;出坑指南
2018/07/13 Javascript
vue如何实现自定义底部菜单栏
2019/07/01 Javascript
js定义类的方法示例【ES5与ES6】
2019/07/30 Javascript
JavaScript运动原理基础知识详解
2020/04/02 Javascript
利用Python读取文件的四种不同方法比对
2017/05/18 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
Python装饰器用法实例总结
2018/05/26 Python
基于python修改srt字幕的时间轴
2020/02/03 Python
Python 使用Opencv实现目标检测与识别的示例代码
2020/09/08 Python
Python第三方库安装缓慢的解决方法
2021/02/06 Python
基于CSS3实现的漂亮Menu菜单效果代码
2015/09/10 HTML / CSS
优秀团员个人事迹材料
2014/01/29 职场文书
《花木兰》教学反思
2014/04/09 职场文书
挂牌仪式策划方案
2014/05/18 职场文书
财务经理岗位职责
2015/01/31 职场文书
2015年团队工作总结范文
2015/05/04 职场文书
教师节班会开场白
2015/06/01 职场文书
忠诚与背叛观后感
2015/06/04 职场文书
《只有一个地球》教学反思
2016/02/16 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis
python基础学习之生成器与文件系统知识总结
2021/05/25 Python
SpringBoot生成License的实现示例
2021/06/16 Java/Android
分析Python list操作为什么会错误
2021/11/17 Python