当前位置:首页 > CMS教程 > Thinkphp > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-03-03 14:32:32 浏览: 评论:0 

这篇文章主要介绍了ThinkPHP调用百度翻译类实现在线翻译,需要的朋友可以参考下,要实现ThinkPHP在线翻译功能,需要先在百度开发者中心注册一个API key,具体实现代码如下:

action代码部分:

  1. <?php 
  2. class FanyiAction extends Action { 
  3. public function _empty(){  
  4.     header("HTTP/1.0 404 Not Found"); 
  5.     $this->display("Public:404");  
  6.   } 
  7. public function index() 
  8. $User = A("Index");  
  9. $User->head(); 
  10. $User->right(); 
  11. $User->footer(); 
  12. $this->display(); 
  13. public function fanyi() 
  14. $value=$_POST['value']; 
  15. $from="auto"
  16. $to="auto"
  17. $value_code=urlencode($value);  
  18. $appid="xxxxxxxx";//这里填写你在百度上申请的API key   
  19. $languageurl = "http://openapi.baidu.com/public/2.0/bmt/translate?client_id=" . $appid ."&q=" .$value_code"&from=".$from."&to=".$to
  20. $text=json_decode($this->language_text($languageurl));  
  21. $text = $text->trans_result;  
  22. $rs=$text[0]->dst; 
  23. $this->assign('value',$value); 
  24. $this->assign('rs',$rs); 
  25. $User = A("Index");  
  26. $User->head(); 
  27. $User->right(); 
  28. $User->footer(); 
  29. $this->display(index); 
  30. public function language_text($url//获取目标URL所打印的内容 
  31. {  
  32. if(!function_exists('file_get_contents'))  
  33. {   
  34. $file_contents = file_get_contents($url);  
  35. }  
  36. else 
  37. {  
  38. $ch = curl_init();  
  39. $timeout = 5;  
  40. curl_setopt ($ch, CURLOPT_URL, $url);  
  41. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);  
  42. curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);  
  43. $file_contents = curl_exec($ch);  
  44. curl_close($ch);  
  45. }   
  46. return $file_contents
  47. ?> 

html代码部分:

  1. <div id="content"> 
  2. <div style="padding:5px;"> 
  3. <form action="__APP__/fanyi/" method="POST" name="fanyi"> 
  4. <p>原文:</p> 
  5. <textarea name="value" id="yuanwen" rows="10" cols="80" style="padding:5px;width: 661px; height: 217px;">{$value}</textarea> 
  6. <input type="submit" class="search-submit" value="翻&nbsp;译" style="text-align:center;"> 
  7. &nbsp;&nbsp;&nbsp;&nbsp; 
  8. <input type="reset" onclick="reset()" class="search-submit" value="清&nbsp;空" style="text-align:center;"> 
  9. </form> 
  10. <p>译文:</p> 
  11. <textarea name="rs" id="yiwen" rows="10" cols="80" style="padding:5px;width: 661px; height: 217px;">{$rs}</textarea> </div> 
  12. </div> 

Tags: ThinkPHP百度翻译类

分享到: