Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Прогноз погоды (https://javascript.ru/forum/project/81557-prognoz-pogody.html)

ALFRED450 16.12.2020 20:56

Цитата:

Сообщение от laimas (Сообщение 531807)
И что?

чтоб не изменяло, если написано Тула , так и отображало Тула

laimas 16.12.2020 21:03

Ну так уберите функцию mb_strtoupper(), в чем проблема?

ALFRED450 16.12.2020 21:16

Цитата:

Сообщение от laimas (Сообщение 531809)
Ну так уберите функцию mb_strtoupper(), в чем проблема?

Warning: Imagick::annotateimage() expects exactly 5 parameters, 4 given in

$bg->annotateImage($draw, $city_text_pixel_x, $city_text_pixel_y, $cityname);

laimas 16.12.2020 21:30

Ну так вы удаляйте функцию, а не параметр:

mb_strtoupper(date('H:i'), 'UTF-8')

PS. Вот только откуда в date('H:i') может быть Тула?

ALFRED450 16.12.2020 21:59

Цитата:

Сообщение от laimas (Сообщение 531811)
Ну так вы удаляйте функцию, а не параметр:

mb_strtoupper(date('H:i'), 'UTF-8')

PS. Вот только откуда в date('H:i') может быть Тула?

нет не получилось, поторопился
$bg->annotateImage($draw, $city_text_pixel_x, $city_text_pixel_y, ('$cityname');

laimas 16.12.2020 22:01

date('H:i'), это цифры, зачем тут верхний регистр, да еще UTF? Нет у цифр регистра.

ALFRED450 16.12.2020 22:09

Parse error: syntax error, unexpected ';', expecting ',' or ')' in

ALFRED450 16.12.2020 22:13

да с датой я случайно кинул, ну сама переменная $cityname показывает город и пишет в верхнем регистре ТУЛА, а убираешь функцию летит ошибка
$bg->annotateImage($draw, $city_text_pixel_x, $city_text_pixel_y, ('$cityname');

вот так не отображается текст

ALFRED450 16.12.2020 23:08

Еще один вопрос:
Есть ранее созданные функции:
// ВЫВОДИМ ДЕНЬ НЕДЕЛИ
if($view_today){
	$draw->setFont(BASEPATH."/font/".$font_date);
	$draw->setTextAlignment(Imagick::ALIGN_LEFT);
    $draw->setFontSize($today_font_size);
    $draw->setFillColor("rgb(".$today_font_color.")");
    $bg->annotateImage($draw, $today_text_pixel_x, $today_text_pixel_y, 0, mb_strtoupper($days[(date('w'))], 'UTF-8'));
}

// ВЫВОДИМ ДАТУ
if($view_date){
	$draw->setFont(BASEPATH."/font/".$font_date);
	$draw->setTextAlignment(Imagick::ALIGN_LEFT);
    $draw->setFontSize($date_font_size);
    $draw->setFillColor("rgb(".$date_font_color.")");
    $bg->annotateImage($draw, $date_text_pixel_x, $date_text_pixel_y, 0, mb_strtoupper(date('d ') . $monthes[(date('n'))] . date(' Y'), 'UTF-8'));
}

// ВЫВОДИМ ВРЕМЯ
if($view_clock){
	$draw->setFont(BASEPATH."/font/".$font_clock);
	$draw->setTextAlignment(Imagick::ALIGN_LEFT);
    $draw->setFontSize($clock_font_size);
    $draw->setFillColor("rgb(".$clock_font_color.")");
    $bg->annotateImage($draw, $clock_text_pixel_x, $clock_text_pixel_y, 0, mb_strtoupper(date('H:i'), 'UTF-8'));
}

и имееют они "выключатель" и исправно работают по true false
//[true - разрешить false - запретить]
$view_today = false; // День недели
$view_date = true; // Число
$view_clock = true; // Часы

созданные с вашей помощью функции
// ВЫВОДИМ ПОГОДУ
if($show_weather){ //температура
	$draw->setFont(BASEPATH."/font/".$font_weather);
	$draw->setTextAlignment(Imagick::ALIGN_LEFT);
    $draw->setFontSize($weather_font_size);
    $draw->setFillColor("rgb(".$weather_font_color.")");
    $bg->annotateImage($draw, $weather_text_pixel_x, $weather_text_pixel_y, 0, rtrim($show_weather.' ', 'UTF-8'));
}

в случае если добавить
$show_weather =false; // погода

Не выключается. Я так понимаю это топорный метод, делая так просто.

laimas 17.12.2020 02:16

Не вижу тут функций, вижу условия.
if(false) { выполнятся не будет, где-то вы косячите, ищите.
rtrim($show_weather.' ', 'UTF-8') - это полнейшая чушь, как и mb_strtoupper(date('H:i'), 'UTF-8'), ну и остальное подобное. Ну это просто какая-то дичь.


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