Комментарии 31
curl 'http://openweathermap.org/data/weather/705812?type=json' | jsawk -a 'return this.name'
А дальше эхо :) и PHP не нужен в данном ключе
А дальше эхо :) и PHP не нужен в данном ключе
НЛО прилетело и опубликовало эту надпись здесь
Я не понимаю зачем тут вообще нужно участие веб сервера.
#!/usr/bin/php как бы должно хватать с головой, нет? И шелл скрипт, соответственно, тоже не нужен.
#!/usr/bin/php как бы должно хватать с головой, нет? И шелл скрипт, соответственно, тоже не нужен.
Для этого указал:
Возможно, данный метод может показаться многим довольно глупым...
А за комментарии спасибо. Над этими методами, к сожалению, не задумался совсем в силу небольшого опыта.
Возможно, данный метод может показаться многим довольно глупым...
А за комментарии спасибо. Над этими методами, к сожалению, не задумался совсем в силу небольшого опыта.
Может найдёте что-нибудь интересное для себя тут. И спасибо за пост :-)
Для вашего примера нужно два файла скриптов (php и shell), установленный и настроенный веб-сервер и, конечно же, установленный php.
Имхо можно сделать проще. Прямо из php вызывать notify-send и тогда можно обойтись одним файлом и без веб-сервера.
Только заголовок php-скрипта должен быть:
Имхо можно сделать проще. Прямо из php вызывать notify-send и тогда можно обойтись одним файлом и без веб-сервера.
Только заголовок php-скрипта должен быть:
#!/bin/bash
<?php
Сорри, заголовок файл должен быть:
#!/usr/bin/php
<?php
...
Спасибо за советы. Учту.
Как вариант запускать
php weather.php
без заголовка.Старайтесь запускать всегда
php -f scriptname.php --
дабы избежать подстановки «левых» параметров для php интерпретатора. В 99% случаев ничего не будет, скрипт не запустится или параметр не передасться никуда, но лучше изначально избегать уловок даже при написании для себя, а то вдруг прийдётся где-нибудь в крон сервера ставить.Не смотря на то, что php мой основной язык, но для подобных задач предпочитаю python — как-то лаконичней получается и синтаксически, и вообще аккуратнее. Плюс есть биндинги ко многим API Ubuntu (включая Ubuntu-only, а не только кроссплатформенные и кроссдистрибутивные GTK+ и ниже). Ну и не надо устанавливать PHP. Вот когда под виндой сидел, то использовал PHP и в качестве скриптового языка, пока не открыл nnCron для себя :)
Не пинайте сильно — но я для аналогичной задачи java юзаю…
getWeather('705812')
вот за это я люто ненавижу php. это дело потом типизировать в других языках приходиться.
вот за это я люто ненавижу php. это дело потом типизировать в других языках приходиться.
*приходится
Какое «это дело»? Этот id — часть урла стороннего сервиса, он по стандарту именно текстовый. Скорее php можно ненавидеть за то, что он в этом месте допустит getWeather(705812), неявно переведя параметр в строку при конкатенации.
Использую что-то подобное, только notify-send вызываю в самом php скрипте, посредством exec(), как по мне, так проще.
Сделал пару исправлений
1. Чтобы не парится с правами картинку запихнул в /tmp
2. Сделал вызов notify-send из скрипта через exec
В результате все стало в 1 файле.
1. Чтобы не парится с правами картинку запихнул в /tmp
2. Сделал вызов notify-send из скрипта через exec
exec('notify-send "Погода" "'.$print.'" -i /tmp/weather.png');
В результате все стало в 1 файле.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Информационные «виджеты» на PHP в Ubuntu