ПРИМЕЧАНИЕ. Решение ниже не работает в Windows. В linux exec команда «which ping» из консоли и заданный путь команды (предлагаемого вызова exec) соответственно
Я думаю, вы хотите проверить статус выхода команды, тогда как shell_exec дает вам полную выход (может быть опасным, должен командовать выходом из командной строки до версии) по какой-либо причине). Более того, переменная $ ip не интерпретируется в одинарных кавычках. Вам придется использовать двойные "". Это может быть единственное, что вам нужно исправить, чтобы заставить его работать.
Но я думаю, что следующий код может быть более «портативным». ИМХО, на самом деле лучше поймать статус выхода, а не пытаться проанализировать строку результата. IMHO также лучше указать полный путь к команде ping.
<?php
function pingAddress($ip) {
$pingresult = exec("/bin/ping -n 3 $ip", $outcome, $status);
if (0 == $status) {
$status = "alive";
} else {
$status = "dead";
}
echo "The IP address, $ip, is ".$status;
}
pingAddress("127.0.0.1");
function callZipAPI(addSearchZip){
var geocoder = new google.maps.Geocoder();
var zipCode = null;
geocoder.geocode({ 'address': addSearchZip }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
//var latitude = results[0].geometry.location.lat();
//var longitude = results[0].geometry.location.lng();
var addressComponent = results[0].address_components;
for (var x = 0 ; x < addressComponent.length; x++) {
var chk = addressComponent[x];
if (chk.types[0] == 'postal_code') {
zipCode = chk.long_name;
}
}
if (zipCode) {
alert(zipCode);
}
else {
alert('No result found!!');
}
} else {
alert('Enter proper address!!');
}
});}