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与MySQL开发中页面出现乱码的一种解决方法
Jul 29 PHP
关于Sphinx创建全文检索的索引介绍
Jun 25 PHP
php实现天干地支计算器示例
Mar 14 PHP
采用memcache在web集群中实现session的同步会话
Jul 05 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
Dec 07 PHP
PHP中常用的数组操作方法笔记整理
May 16 PHP
Yii框架弹出框功能示例
Jan 07 PHP
php事务回滚简单实现方法示例
Mar 28 PHP
php 静态属性和静态方法区别详解
Apr 09 PHP
thinkPHP显示不出验证码的原因与解决方法分析
May 20 PHP
Laravel5.5新特性之友好报错以及展示详解
Aug 13 PHP
Yii2 queue的队列使用详解
Jul 19 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
用PHP的ob_start() 控制您的浏览器cache
2009/08/03 PHP
PHP分多步骤填写发布信息的简单方法实例代码
2012/09/23 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
JavaScript 存在陷阱 删除某一区域所有节点
2010/05/10 Javascript
NodeJs中的非阻塞方法介绍
2012/06/05 NodeJs
jQuery使用技巧简单汇总
2013/04/18 Javascript
JavaScript中神奇的call()方法
2015/03/12 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
Bootstrap每天必学之导航
2015/11/26 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
2016/12/14 Javascript
Easyui ueditor 整合解决不能编辑的问题(推荐)
2017/06/25 Javascript
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
2017/11/01 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
angular 服务的单例模式(依赖注入模式下)详解
2018/10/22 Javascript
在vue使用clipboard.js进行一键复制文本的实现示例
2019/01/15 Javascript
vue实现百度下拉列表交互操作示例
2019/03/12 Javascript
关于layui flow loading占位图的实现方法
2019/09/21 Javascript
vue循环数组改变点击文字的颜色
2019/10/14 Javascript
Vue动态加载图片在跨域时无法显示的问题及解决方法
2020/03/10 Javascript
Python的ORM框架SQLObject入门实例
2014/04/28 Python
python操作gmail实例
2015/01/14 Python
python监控键盘输入实例代码
2018/02/09 Python
Python基于jieba库进行简单分词及词云功能实现方法
2018/06/16 Python
详解TensorFlow查看ckpt中变量的几种方法
2018/06/19 Python
Python爬虫beautifulsoup4常用的解析方法总结
2019/02/25 Python
PyQt4编程之让状态栏显示信息的方法
2019/06/18 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
2020/03/09 Python
Python PyQt5整理介绍
2020/04/01 Python
浅谈优化Django ORM中的性能问题
2020/07/09 Python
Lands’ End官网:经典的美国生活方式品牌
2016/08/14 全球购物
美国在线肉类和海鲜配送:Crowd Cow
2020/10/02 全球购物
Python文件操作的面试题
2013/06/22 面试题
工程预算与管理应届生求职信
2013/10/06 职场文书
英文导游欢迎词
2014/01/11 职场文书
电力培训心得体会
2014/09/02 职场文书
vmware虚拟机打不开vmx文件怎么办 ?vmware虚拟机vmx文件打开方法
2022/04/08 数码科技