需要注意的是申请百度翻译的APPID 和 密钥时,我申请的是标准服务,所以每秒只能调用一次,就必须休眠一秒,不然会报54003,所以翻译大量数据列时调用就比较慢,想要快一些可以申请时选择另外两种申请服务,那样翻译会快些,也就节约了很多的时间。
我用的是php原生代码的写法,所以放在index.php中,
我的项目路径:
html部分
<div style="width:30%;position: absolute; top:5%;left:5%;">
<form action="index.php" method="post" enctype="multipart/form-data">
<fieldset>
<legend>翻译</legend>
<label for="upload-file">上传文件:</label>
<input type="file" name="upload-fl" />
<button type="submit" class="button"><span><span>导入</span></span></button>
</fieldset>
</form>
</div>
需要引入js,
<script type="text/javascript" src="plugins/jquery.min-2.0.js"></script>
下面是php代码,获取上传的文件并获取数据,进行随机语言翻译
<?php
require "./Class/PHPExcel.php";
require "./Class/PHPExcel/IOFactory.php";
require "./function.php";
require "./config.php";
//API配置
$_appUrl = 'https://api.fanyi.baidu.com/api/trans/vip/translate';
$_appId = '您的appid'; // API Key
$_appKey = '您的密钥'; // 密钥
$_appSalt = rand(1000000000, 9999999999); // 随机数
$_appQPS = 0;
function translate($value, $from, $to)
{
global $_appQPS,$_appId,$_appKey,$_appSalt,$_appUrl;
$_appQPS++;
if($_appQPS == 1){ //$_appQPS是每次调用的频率,每调用一次就休眠一次,这样就不会报54003错误,这里申请的是标准服务,所以每秒只能调用一次
sleep(1);
$_appQPS = 0;
}
$args = array(
'q' => $value,
'appid' => $_appId,
'salt' => $_appSalt,
'from' =>