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 相关文章推荐
聊天室php&amp;mysql(四)
Oct 09 PHP
PHP在字符串中查找指定字符串并删除的代码
Oct 02 PHP
PHP 简单数组排序实现代码
Aug 05 PHP
php入门学习知识点一 PHP与MYSql连接与查询
Jul 14 PHP
php定时计划任务的实现方法详解
Jun 06 PHP
解析strtr函数的效率问题
Jun 26 PHP
改写函数实现PHP二维/三维数组转字符串
Sep 13 PHP
php获取汉字首字母的函数
Nov 07 PHP
PHP根据两点间的经纬度计算距离
Oct 31 PHP
如何使用php实现评委评分器
Jul 31 PHP
PHP高效获取远程图片尺寸和大小的实现方法
Oct 20 PHP
Laravel实现通过blade模板引擎渲染视图
Oct 25 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
ubuntu12.04使用c编写php扩展模块教程分享
2013/12/25 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
javascript中检测变量的类型的代码
2010/12/28 Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
2013/09/06 Javascript
JS中实现replaceAll的方法(实例代码)
2013/11/12 Javascript
Nodejs sublime text 3安装与配置
2014/06/19 NodeJs
JavaScript常用本地对象小结
2016/03/28 Javascript
JavaScript地理位置信息API
2016/06/11 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
Vue.js中的图片引用路径的方式
2017/07/28 Javascript
Form表单上传文件(type=&quot;file&quot;)的使用
2017/08/03 Javascript
vue语法之拼接字符串的示例代码
2017/10/25 Javascript
javascript用rem来做响应式开发
2018/01/13 Javascript
Vue 2.0 侦听器 watch属性代码详解
2019/06/19 Javascript
Vue 实例事件简单示例
2019/09/19 Javascript
node.js express框架实现文件上传与下载功能实例详解
2019/10/15 Javascript
Python的净值数据接口调用示例分享
2016/03/15 Python
python语言使用技巧分享
2016/05/31 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
2018/02/13 Python
python 实现一个反向单位矩阵示例
2019/11/29 Python
CSS3弹性盒模型开发笔记(一)
2016/04/26 HTML / CSS
不可轻视HTML5!App三年内将被html5顶替彻底消失
2015/11/18 HTML / CSS
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
日本最大的购物网站:日本乐天市场(Rakuten Ichiba)
2020/11/04 全球购物
C#里面可以避免一个类被其他类继承么?如何?
2013/09/26 面试题
UNIX文件名称有什么规定
2013/03/25 面试题
运动会广播稿60字
2014/01/15 职场文书
公司门卫管理制度
2014/02/01 职场文书
道德模范先进事迹
2014/02/14 职场文书
2014乡镇党政班子四风问题思想汇报
2014/09/14 职场文书
暑期社会实践证明书
2014/11/17 职场文书
学校元旦晚会开场白
2014/12/14 职场文书
网络安全倡议书(3篇)
2019/09/18 职场文书
Vue过滤器(filter)实现及应用场景详解
2021/06/15 Vue.js
Python 数据可视化之Matplotlib详解
2021/11/02 Python