• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

[N久以前发布的文章]php获取yahoo股票csv数据并封闭成为接口输出json数据 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

思路

先从yahoo接口获取数据,再定义接口,转化成为json输出。只供卡通网(kt5.cn)使用

stock.php 接口处理代码

<?php
header("Content-Type: application:json;charset=utf-8");
header('Access-Control-Allow-Origin:http://www.kt5.cn');  // 只允许kt5.cn这域名进行跨域get访问
header('Access-Control-Allow-Methods:GET');  
header('Access-Control-Allow-Headers:x-requested-with,content-type');  

$StockName=$_REQUEST['stockname'];
$StartDateArr=explode("-",$_REQUEST['startdate']);
$EndDateArr=explode("-",$_REQUEST['enddate']);

$StartMonth=$StartDateArr[1] - 1;
$StartDay=$StartDateArr[2];
$StartYear=$StartDateArr[0];
$EndMonth=$EndDateArr[1] - 1;
$EndDay=$EndDateArr[2];
$EndYear=$EndDateArr[0];
$StockAPI = 'http://table.finance.yahoo.com/table.csv?s='.$StockName.'&f='.$EndYear.'&d='.$EndMonth.'&e='.$EndDay.'&c='.$StartYear.'&a='.$StartMonth.'&b='.$StartDay.'&g=d&ignore=.csv'; // 定义stock api的url
$StockData = json_encode(csv_in_array($StockAPI,",","",true)); // 定义值为读取到的Stock信息
// echo '<pre>'; // 输出原文本格式
echo $StockData; // 输出获取到的stock信息文本
// echo "</pre>"; // 输出原文本格式

function csv_in_array($url,$delm=",",$encl="",$head=true) { 
    
    $csvxrow = file($url);   // ---- csv rows to array ----
    
    $csvxrow[0] = chop($csvxrow[0]); 
    $csvxrow[0] = str_replace($encl,'',$csvxrow[0]); 
    $keydata = explode($delm,$csvxrow[0]); 
    $keynumb = count($keydata); 
    
    if ($head === true) { 
    $anzdata = count($csvxrow); 
    $z=0; 
    for($x=1; $x<$anzdata; $x++) { 
        $csvxrow[$x] = chop($csvxrow[$x]); 
        $csvxrow[$x] = str_replace($encl,'',$csvxrow[$x]); 
        $csv_data[$x] = explode($delm,$csvxrow[$x]); 
        $i=0; 
        foreach($keydata as $key) { 
            $out[$z][$key] = $csv_data[$x][$i]; 
            $i++;
            }    
        $z++;
        }
    }
    else { 
        $i=0;
        foreach($csvxrow as $item) { 
            $item = chop($item); 
            $item = str_replace($encl,'',$item); 
            $csv_data = explode($delm,$item); 
            for ($y=0; $y<$keynumb; $y++) { 
               $out[$i][$y] = $csv_data[$y]; 
            }
        $i++;
        }
    }

return $out; 
}


?>

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
开源内容管理系统Joomla正式发布3.5版本基于PHP7发布时间:2022-07-10
下一篇:
Docker:构建Nginx,PHP,Tomcat基础镜像发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap