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初学者头痛的十四个问题
Jul 12 PHP
一个PHP的QRcode类与大家分享
Nov 13 PHP
PHP __autoload()方法真的影响性能吗?
Mar 30 PHP
php的declare控制符和ticks教程(附示例)
Mar 21 PHP
ThinkPHP模板判断输出Defined标签用法详解
Jun 30 PHP
PHP正则表达式 /i, /is, /s, /isU等介绍
Oct 23 PHP
详解Yii2.0使用AR联表查询实例
Jun 16 PHP
php-beanstalkd消息队列类实例分享
Jul 19 PHP
php类自动装载、链式操作、魔术方法实现代码
Jul 23 PHP
PHP后期静态绑定之self::限制实例分析
Dec 21 PHP
PHP封装的page分页类定义与用法完整示例
Dec 24 PHP
php面向对象程序设计入门教程
Jun 22 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产生动态的影像图
2006/10/09 PHP
php实现XSS安全过滤的方法
2015/07/29 PHP
PHP实现的数独求解问题示例
2017/04/18 PHP
javascript自执行函数之伪命名空间封装法
2010/12/25 Javascript
单击复制文字兼容各浏览器的完美解决方案
2013/07/04 Javascript
js中的preventDefault与stopPropagation详解
2014/01/29 Javascript
js实现简单的联动菜单效果
2015/08/19 Javascript
js仿拉勾网首页穿墙广告效果
2017/03/08 Javascript
vue项目环境变量配置的实现方法
2018/10/12 Javascript
基于nodejs的雪碧图制作工具的示例代码
2018/11/05 NodeJs
jquery简单实现纵向的无缝滚动代码实例
2019/04/01 jQuery
vuex入门最详细整理
2020/03/04 Javascript
ES6函数和数组用法实例分析
2020/05/23 Javascript
js回到页面指定位置的三种方式
2020/12/17 Javascript
[02:51]2018年度DOTA2最佳中单位选手-完美盛典
2018/12/17 DOTA
Python下调用Linux的Shell命令的方法
2018/06/12 Python
python统计字母、空格、数字等字符个数的实例
2018/06/29 Python
Python3使用TCP编写一个简易的文件下载器功能
2019/05/08 Python
python 多线程对post请求服务器测试并发的方法
2019/06/13 Python
PyCharm搭建Spark开发环境的实现步骤
2019/09/05 Python
Pycharm中import torch报错的快速解决方法
2020/03/05 Python
Python数据可视化实现多种图例代码详解
2020/07/14 Python
python如何对链表操作
2020/10/10 Python
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
AmazeUI的下载配置与Helloworld的实现
2020/08/19 HTML / CSS
Bally澳大利亚官网:瑞士奢侈品牌
2018/11/01 全球购物
美国名牌手表折扣网站:Jomashop
2020/05/22 全球购物
与C++相比,Java中的数组有什么不同
2014/03/25 面试题
大学校园毕业自我鉴定
2014/01/15 职场文书
公益广告语集锦
2014/03/13 职场文书
祖国在我心中演讲稿(小学生)
2014/09/23 职场文书
加薪申请报告范本
2015/05/15 职场文书
学习经验交流会策划书
2015/11/02 职场文书
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA
分析MySQL优化 index merge 后引起的死锁
2022/04/19 MySQL
git中cherry-pick命令的使用教程
2022/06/25 Servers