如何在 Json 编码中显示 php 结果

问题描述

我尝试使用此代码检查客户端 IP 是否使用代理 ?

<?PHP

$proxy_ports = array(80,81,8080,443,1080,6588,3128);
    foreach($proxy_ports as $test_port) {
        if(@fsockopen($_SERVER['REMOTE_ADDR'],$test_port,$errno,$errstr,5)) {
            exit("vpn Connect");
        }
    }
?>

它对我有用,但我想以 Json 编码格式获得 PHP 结果 喜欢 {"vpn" :"ok"} 我的意思是当客户端 ip 与代理连接时,此代码显示结果 vpn connect 我想要像 {"vpn" :"ok"}

这样的 Json 编码格式的结果

请有人帮助我我该怎么做。 提前致谢。

解决方法

<?php

$proxy_ports = array(80,81,8080,443,1080,6588,3128);
$payload = ['vpn','ko'];
foreach($proxy_ports as $test_port) {
    if(@fsockopen($_SERVER['REMOTE_ADDR'],$test_port,$errno,$errstr,5)) {
        $payload['vpn'] = 'ok';
        break;
    }
}

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

header('Content-Type: application/json'); 会告诉您的浏览器返回内容的类型。

json_encode 会将您的变量转换为 json 有效字符串。