声明为true时json_encode不返回任何内容

问题描述

我有这个PHP脚本,它将仅检查服务器中是否存在文件

<?PHP
$CSVpath = 'http://10.169.00.00:6000/'.$_REQUEST["id_number"].'.csv';

$FinalData = [ 'exists' =>
  (fopen($CSVpath,"r"))
];
header('Content-Type: application/json');
echo json_encode($FinalData);

?>

它有效,当不存在数据时返回{"exists":false}

但是当文件存在时什么都不会显示

我的脚本怎么了?

解决方法

from Plane class: 1 1 1 1.73205 Angle in degree,wrt X-axis = 54.7356 | wrt Y-axis = 54.7356 | wrt Z-axis = 54.7356 = = = = = = = = = = = = 1.73205 Angle in degree,wrt X-axis = 54.7356 | wrt Y-axis = 54.7356 | wrt Z-axis = 54.7356 返回资源。资源没有JSON编码,因为它在创建它的PHP进程之外没有任何意义。

您可以使用fopen()将任何值转换为相应的布尔值。 `

!!
,

可以使用以下卷曲吗?

$FinalData = [ 'exists' => false ];

$CSVpath = 'http://10.169.00.00:6000/'.$_REQUEST["id_number"].'.csv';

$ch = curl_init($CSVpath);
curl_setopt($ch,CURLOPT_NOBODY,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); # handles 301/2 redirects
curl_exec($ch);
$httpCode = curl_getinfo($ch,CURLINFO_HTTP_CODE);
curl_close($ch);
$FinalData['exists'] =  $httpCode == 200;

header('Content-Type: application/json');
echo json_encode($FinalData);