shell下使用php调用百度翻译API

来源:互联网 发布:ubuntu 16.04 安装vps 编辑:程序博客网 时间:2024/06/04 19:18

源参考http://www.oschina.net/code/snippet_991873_21659

#!/usr/bin/php -q<?php#filename:translate.php.sh#用途:用于在shell下通过php代码调用百度翻译的API,进行翻译并输出#注意选项 -q   是为了禁止输出发送HTTP头,这是在s解析php的一种方式:man解析:Quiet-mode,Suppress HTTP header output(CGI only)# 注意查手册学习:array_shift,urlencode,implode,file_get_contents 这些函数的使用,以及PHP_EOL,这些是本人新接触到的?><?php        $url='http://openapi.baidu.com/public/2.0/bmt/translate?client_id=oUgVR5DtMFQlwcW8k1C6YvWs&from=auto&to=auto&q=';//      关于这个url请参考百度翻译的API使用帮助文档//      echo $argv[1]; //$argv是php内置的接收参数的数组,从0开始分别为命令路径和后续参数        isset($argv[1]) or die('Usage:$argv[0] [word word word]/"word word word"'.PHP_EOL);        $q=$argv;//      print_r($q);        array_shift($q); //删除数组的第一个元素,返回剩下的数组//      foreach($q as $key=>$value){//              $q[$key]=urlencode($value);  //由于命令行下只用于单词和句子的翻译,故不用转换换行符也行//      }           $word=implode('',$q); //将数组元素链接成字符串//      $word=urlencode("$word");//      echo $url.$word;//      $url=$url.$word;            $json=file_get_contents($url.$word); //把文件内容储存为字符串,参数是某个文件路径//      echo $json;        $data=json_decode($json,true); //把API返回的json格式的数据格式化        $data=$data['trans_result']; //取数组中的结果数组                    foreach($data as $key){                   echo "$key[src]: $key[dst]";                 echo PHP_EOL;  //换行       }?>         


0 0
原创粉丝点击