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 八种基本的数据类型小结
Jun 01 PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
Sep 07 PHP
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
Oct 26 PHP
php 表单提交大量数据发生丢失的解决方法
Mar 03 PHP
2014年最新推荐的10款 PHP 开发框架
Aug 01 PHP
php一个文件搞定微信jssdk配置
Dec 12 PHP
PHP调用API接口实现天气查询功能的示例
Sep 21 PHP
php实现每日签到功能
Nov 29 PHP
php精度计算的问题解析
Jun 21 PHP
PHP实现的文件浏览器功能简单示例
Sep 12 PHP
php实现分页功能的详细实例方法
Sep 29 PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
Aug 03 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
239军机修复记
2021/03/02 无线电
精美漂亮的php分页类代码
2013/04/02 PHP
php中常见的sql攻击正则表达式汇总
2014/11/06 PHP
PHP实现适用于文件内容操作的分页类
2016/06/15 PHP
详解Laravel服务容器的绑定与解析
2019/11/05 PHP
php多进程中的阻塞与非阻塞操作实例分析
2020/03/04 PHP
PHP强制转化的形式整理
2020/05/22 PHP
Prototype Template对象 学习
2009/07/19 Javascript
Javascript中的this绑定介绍
2011/09/22 Javascript
查看图片(前进后退)功能实现js代码
2013/04/24 Javascript
jquery设置按钮停顿3秒不可用
2014/03/07 Javascript
jQuery操作元素css样式的三种方法
2014/06/04 Javascript
JavaScript设计模式之建造者模式介绍
2014/12/28 Javascript
js禁止页面刷新与后退的方法
2015/06/08 Javascript
javascript中return,return true,return false三者的用法及区别
2015/11/17 Javascript
jQuery版AJAX简易封装代码
2016/09/14 Javascript
JavaScript中日常收集常见的10种错误(推荐)
2017/01/08 Javascript
用js屏蔽被http劫持的浮动广告实现方法
2017/08/10 Javascript
解决vue的变量在settimeout内部效果失效的问题
2018/08/30 Javascript
微信小程序中转义字符的处理方法
2019/03/28 Javascript
微信小程序实现form表单本地储存数据
2019/06/27 Javascript
layer设置maxWidth及maxHeight解决方案
2019/07/26 Javascript
js DOM的事件常见操作实例详解
2019/12/16 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
2020/11/06 Javascript
python中zip和unzip数据的方法
2015/05/27 Python
微信 用脚本查看是否被微信好友删除
2016/10/28 Python
Python异常原理及异常捕捉实现过程解析
2020/03/25 Python
Spring http服务远程调用实现过程解析
2020/06/11 Python
收集的7个CSS3代码生成工具
2010/04/17 HTML / CSS
HTML5 MiranaVideo播放器 (代码开源)
2010/06/11 HTML / CSS
澳大利亚著名的纺织品品牌:Canningvale
2020/05/05 全球购物
护士检查书
2014/01/17 职场文书
安全保卫工作竞聘材料
2014/08/25 职场文书
2015年高三教学工作总结
2015/07/21 职场文书
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python
Go语言实现Base64、Base58编码与解码
2021/07/26 Golang