Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP警告:使用长url获取文件内容_Php - Fatal编程技术网

PHP警告:使用长url获取文件内容

PHP警告:使用长url获取文件内容,php,Php,我有一些调用第三方服务并返回股票/etf数据的代码。这就是错误: PHP Warning: file_get_contents(http://********.******.********.com/*************.json?apikey=********************************&symbols=FFHG,FFTI,NUDM,NUEM,GIGB,AZIA,BCHP,BRAF,BRXX,BSCF,BSJF,DBIZ,EEHB,EWRM,EWRS

我有一些调用第三方服务并返回股票/etf数据的代码。这就是错误:

    PHP Warning:  file_get_contents(http://********.******.********.com/*************.json?apikey=********************************&symbols=FFHG,FFTI,NUDM,NUEM,GIGB,AZIA,BCHP,BRAF,BRXX,BSCF,BSJF,DBIZ,EEHB,EWRM,EWRS,GURX,INC,ITF,JUNR,LAG,MATL,MDLL,SUBD,TENZ,CU,MULT,PLTM,HYLB,SGQI,WTID,WTIU,CUMB,COMB,COMG,BVAL,PPLN,ICOW,CALF,GMFL,RNDM,RNEM,RNLC,RNMC,RNSC,RNDV,FCAL,VSMV,OCIO,TTAI,GOAU,VESH,USMF,GSSC,SMMD,IBD,PREF,FANZ,FNG,EUXL,SUSC,SUSB,IGEB,HYDB,SQLV,REEM,RGLB,REFA,SPMV,USEQ,EQRR,EMXC,USOU,USOD,DMRL,DMRM,DMRS,DMRI,EDOW,AMCA,ULBR,DLBR,EMBU,DWPP,FMDG,FFIU,FPEI,YESR,FLMI,FLMB,MFUS,MFEM,MFDX,SECT,MAGA,GHYB,OBOR,PFFD,MLQD,LLQD,IBDS,UBRT,DBRT,RBUS,RBIN,MXDU,XNTK,GSEW,PBUS,PBSM,PBDM,PBEE,PBTP,BSCR,BSJP,HTRB,DALT,PBND,NUBD,LFEQ,SCHK,CHGX,USMC,KEMQ,VGFO,DIAL,GOP,DEMS,PLCY,BERN,BRGL,SPMD,AIEQ,KGRN,MMIT,MMIN,PVAL,PMOM,LOGO,GRMY,EURZ,USHY,ULVM,USVM,UIVM,UEVM,USTB,UITB,CEY,FLAU,FLCA,FLEE,FLEH,FLFR,FLGR,FLHK,FLIY,FLIP,FLJH,FLGB,FLKR,FLBR,FLCH,FLMX,FLTW,GUDB,BIBL,RVRS,FTVA,FFSG,FFTG,FMHI,SDVY,JDIV,JMIN,JV
 AL,JQUA,JMOM,ENTR,JHSC,PXUS,VTC,OMFL,OMF in ..../functions.php on line 931
它在“JV”之后中断,但实际值是JVAL(下一行将看到AL位)

我已经检查了数据库,应该100%返回的值是JVAL。字段中没有空格

我不知道为什么会在那一点上破裂

下面是调用文件\u get\u内容的PHP函数:

function get_etf_data($syms) {

  if (is_array($syms)) {
    $syms = implode(",", $syms);
  }
  $url = 'http://********.******.********.com/*************.json?apikey=********************************&symbols='.$syms;
  //die($url); // debug
  sn_bc_counter('get_etf_data',$_SERVER['REQUEST_URI']);
  $data = file_get_contents($url,"r");
  $data = json_decode($data);
  $arr = array();

  foreach ($data->results as $result) {
    $arr[] = $result;
  }

  return $arr;
}

有什么好主意可以给我指出正确的方向吗?

你能用curl而不是file\u get\u contents检查一下吗

像这样:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$responseBody = curl_exec($ch);

if ($responseBody === false) {
    echo "CURL Error: " . curl_error($ch);
}

$data = json_decode($responseBody);

为什么要使用文件获取内容从另一台服务器获取数据?如果您可以使用curl,那就更好了。这确实是一个原生PHP错误,因为它没有文档记录,我无法复制它。另一个注意事项:您在请求中使用的是不安全的http。@ShashankShekhar为什么
file\u get\u contents()
用于请求URI,为什么他不应该使用它?“这是没有根据的建议。”丹尼尔。是的,我知道有人用过。但是,当url很长或有404时,它不会给出正确的错误并中断页面。所以我更喜欢curl,因为它速度更快,处理错误的方式更好,并且支持更多的请求类型,而不是get。谢谢!我使用了CURL方法,它似乎有效