ThinkPHP调用百度翻译类实现在线翻译

5年以前  |  阅读数:830 次  |  编程语言:PHP 

要实现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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例