gpt4 book ai didi

php - 如果端口打开,则使用 ajax 图像;如果未打开,则使用备用图像

转载 作者:行者123 更新时间:2023-11-28 08:55:31 25 4
gpt4 key购买 nike

所以我正在尝试为我的网站创建一个自定义脚本,并且我正在考虑制作一个状态脚本。现在我已经做了一些研究,但是我已经放弃了我所拥有的,直到我能找到更有效的东西。

我目前正在使用 fopen 来检查端口是否打开,但是它会大大减慢页面加载时间,我想知道是否有办法通过 jquery 和 ajax 来做到这一点。允许首先加载页面,然后在端口打开时显示图像,如果端口关闭或无法访问则显示备用图像。

我以前见过它,但我似乎找不到任何相关文档。

最佳答案

加载页面,向您的页面发送 ajax 请求以检查它是否打开。

$.getJSON('checkstatus.php', {
port: 8070
}, function (data) {
if (data.status === 'on') {
$('#img').attr('src', 'on.png');
} else {
$('#img').attr('src', 'off.png');
}
});

<?php
......code.....

header('content-type: application/json');
echo json_encode(array('status'=>get_port_status($_GET['port'])));

编辑:

//checkstatus.php
<?php
$host = $_GET['host'];
$ports = array(PORT 1, PORT 2, PORT 3, PORT 4, PORT 5, PORT 6, PORT 7, PORT 8, PORT 9);
$status = array();
foreach($ports as $port) {
$connection = @fsockopen($host, $port);
if (is_resource($connection)) {
$[$port] = 'on';
fclose($connection);
} else {
$[$port] = 'off';
}
}

header('content-type: application/json');
echo json_encode($status);
?>

///status.html
<table id="portStatus">
<tbody></tbody>
</table>

<script>
$(function () {
var table = $('#portStatus tbody');
var hosts = ['host1.com', 'host2.com'];
for (var i = 0; i < hosts.length; ++i) {
var host = hosts[i];
$.getJSON('checkstatus.php', {
host: host
}, function (data) {
var tr = $('<tr/>');
tr.append($('td').html(host)); //this appends the hostname to the td;
for (var port in data) {
tr.append($('<td><img src="' + (data[port] === 'on' ? 'accept.png' : 'error.png') + '"></td>');
}
table.append(tr);
});
}
});
</script>

这应该给你一个基本的想法,尝试一下并修改它。请注意,javascript 部分使用 jQuery。

关于php - 如果端口打开,则使用 ajax 图像;如果未打开,则使用备用图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18554753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com