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 相关文章推荐
新浪新闻小偷
Oct 09 PHP
一个用mysql_odbc和php写的serach数据库程序
Oct 09 PHP
比较详细PHP生成静态页面教程
Jan 10 PHP
基于curl数据采集之单页面采集函数get_html的使用
Apr 28 PHP
教你如何解密 “ PHP 神盾解密工具 ”
Jun 20 PHP
php生成百度sitemap站点地图类函数实例
Oct 17 PHP
Laravel框架实现发送短信验证功能代码
Jun 06 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
Sep 09 PHP
Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
Aug 02 PHP
浅谈laravel框架sql中groupBy之后排序的问题
Oct 17 PHP
PHP单元测试配置与使用方法详解
Dec 27 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
Mar 26 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中的Class的几点个人看法
2006/10/09 PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
2011/06/06 PHP
LotusPhp笔记之:Cookie组件的使用详解
2013/05/06 PHP
PHP四舍五入精确小数位及取整
2014/01/14 PHP
php递归删除目录下的文件但保留的实例分享
2014/05/10 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
PHP7常量数组用法分析
2016/09/26 PHP
2017年最好用的9个php开发工具推荐(超好用)
2017/10/23 PHP
php字符串过滤strip_tags()函数用法实例分析
2019/06/24 PHP
Yii中特殊行为ActionFilter的使用方法示例
2020/10/18 PHP
Jquery 快速构建可拖曳的购物车DragDrop
2009/11/30 Javascript
javascript数组去重3种方法的性能测试与比较
2013/03/26 Javascript
js使浏览器窗口最大化实现代码(适用于IE)
2013/08/07 Javascript
js设置文本框中焦点位置在最后的示例代码(简单实用)
2014/03/04 Javascript
node.js中的fs.link方法使用说明
2014/12/15 Javascript
深入理解JavaScript系列(30):设计模式之外观模式详解
2015/03/03 Javascript
JavaScript的面向对象编程基础
2015/08/13 Javascript
JavaScript学习笔记之数组求和方法
2016/03/23 Javascript
实用jquery操作表单元素的简单代码
2016/07/04 Javascript
Bootstrap-table使用footerFormatter做统计列功能
2018/09/07 Javascript
解决vue.js提交数组时出现数组下标的问题
2019/11/05 Javascript
js实现删除json中指定的元素
2020/09/22 Javascript
python使用urllib2提交http post请求的方法
2015/05/26 Python
Python实现Linux的find命令实例分享
2017/06/04 Python
python使用Paramiko模块实现远程文件拷贝
2019/04/30 Python
用Python画一个LinkinPark的logo代码实例
2019/09/10 Python
keras绘制acc和loss曲线图实例
2020/06/15 Python
如何让python的运行速度得到提升
2020/07/08 Python
Python实现扫码工具的示例代码
2020/10/09 Python
大学毕业生文采飞扬的自我鉴定
2013/12/03 职场文书
公司活动策划方案
2014/01/13 职场文书
五水共治捐款倡议书
2014/05/14 职场文书
2019企业文化管理制度范本!
2019/08/06 职场文书
Vue+Element UI实现概要小弹窗的全过程
2021/05/30 Vue.js
SpringBoot集成MongoDB实现文件上传的步骤
2022/04/18 MongoDB
springcloud整合seata
2022/05/20 Java/Android