Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   fsockopen в одну строку (https://javascript.ru/forum/server/81599-fsockopen-v-odnu-stroku.html)

ALFRED450 22.12.2020 11:50

fsockopen в одну строку
 
Помогите разобраться. Имеется вот такой код:
$fp = fsockopen("127.0.0.1", 1234);

if (!$fp) {
    echo "<b><font color='red'> Оффлайн</font></b>";
} else {
    echo "<b><font color='green'> Онлайн</font></b>";
}

на html все это работает, но нужен другой вариант, указав лишь одну переменную $fp в зависимости от результата получилось бы:
$fp = Оффлайн или $fp = Онлайн
переменная $fp далее будет объединятся с рисунком, поэтому нужна одной переменной

Vlasenko Fedor 23.12.2020 11:07

ALFRED450,
https://www.php.net/manual/ru/function.fsockopen.php
поясните, что вы стараетесь делать
каким образом сокеты вы связали с изображением
и не ошиблись вы темой задав вопрос по php в теме про js

ALFRED450 23.12.2020 22:58

Цитата:

Сообщение от Vlasenko Fedor (Сообщение 532014)
ALFRED450,
https://www.php.net/manual/ru/function.fsockopen.php
поясните, что вы стараетесь делать
каким образом сокеты вы связали с изображением
и не ошиблись вы темой задав вопрос по php в теме про js

командой выше мы получаем некий результат, который потом выводится на страницу онлайн или офлайн. Это все работает. Мне нужно, чтоб в итоге указав одну лишь переменную $fp получал бы результат (онлайн или офлайн)

заменить вывод на присвоение его переменной
$fp = fsockopen(...) ? 'On' : 'Off';
в общем избавится от echo, а как верно это сделать не знаю.
Далее будет применяться так:
$bg->annotateImage($draw, $...pixel_x, $...pixel_y, 0, $fp);
если знаете помогите пожалуйста как все одной строкой выше написаный пример сделать.

Vlasenko Fedor 24.12.2020 00:22

$fp = !empty(fsockopen("127.0.0.1", 1234));

тогда :)

laimas 24.12.2020 01:01

Цитата:

Сообщение от ALFRED450
заменить вывод на присвоение его переменной
$fp = fsockopen(...) ? 'On' : 'Off';
в общем избавится от echo, а как верно это сделать не знаю.

А вам значит не показали как? Либо в своем:

if (!$fp) {
   $fp = 'Off';
} else {
   $fp = 'On';
}


Либо проще записывается тернарным оператором:

$fp = $fp ? 'On' : 'Off';


В чем опять проблемы?

ALFRED450 24.12.2020 14:29

Цитата:

Сообщение от laimas (Сообщение 532052)
А вам значит не показали как? Либо в своем:

if (!$fp) {
   $fp = 'Off';
} else {
   $fp = 'On';
}


Либо проще записывается тернарным оператором:

$fp = $fp ? 'On' : 'Off';


В чем опять проблемы?

спасибо получилось и работает
$statserv = fsockopen("127.0.0.1", 1234) ? 'On' : 'Off';

а назначит цвет On и Off можно? по разному пробовал, выводит текстом код или ошибка

laimas 24.12.2020 14:46

Я не ясновидящий, что вы там пробуете и какие ошибки, мне неведомо.
Цвет текста определяется установкой в Imagick, какой определяйте условием.

Вообще же это похоже на какую-то глупость, если бы это выполнял клиент, тогда логично, иначе хреь неимоверная.

laimas 24.12.2020 15:05

Ясно, вы и значения слова "веб" не понимаете, ибо когда я говорил об этом, ответом было, что к нему это все не имеет отношения. Странно что тогда за чат такой был бы.

Бог с ним, подумайте над тем, что если чат, это сокеты, то Off для кого (да еще и localhost, и у "хозяина", ВК)? Что касается результата, то плохо, текст не прочесть.

ALFRED450 24.12.2020 16:04

Цитата:

Сообщение от laimas (Сообщение 532056)
Ясно, вы и значения слова "веб" не понимаете, ибо когда я говорил об этом, ответом было, что к нему это все не имеет отношения.

чат действительно никакого отношения не имеет к веб, это отдельная программа сервер как отдельная программа и клиент который цепляется к нему. Статистика собирается плагином который выполняется через VB скрипт, а fsockopen просто проверяет порт, открыт и показывает результат, на веб странице это тоже видно commfort.su. Про текст, дело в шрифте или размере?

laimas 24.12.2020 16:09

$statserv = @fsockopen(...


Часовой пояс GMT +3, время: 19:00.