Как стать автором
Обновить

Комментарии 31

curl 'http://openweathermap.org/data/weather/705812?type=json' | jsawk -a 'return this.name'
А дальше эхо :) и PHP не нужен в данном ключе
а представь какая вакханалия выводится если сервис свалится, сомнительной полезности скрипт
понимаю, я лишь привел пример от зависимости к какому-либо языку
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Я не понимаю зачем тут вообще нужно участие веб сервера.

#!/usr/bin/php как бы должно хватать с головой, нет? И шелл скрипт, соответственно, тоже не нужен.
Для этого указал:
Возможно, данный метод может показаться многим довольно глупым...

А за комментарии спасибо. Над этими методами, к сожалению, не задумался совсем в силу небольшого опыта.
Может найдёте что-нибудь интересное для себя тут. И спасибо за пост :-)
Спасибо. Обязательно прочту
Для вашего примера нужно два файла скриптов (php и shell), установленный и настроенный веб-сервер и, конечно же, установленный php.

Имхо можно сделать проще. Прямо из php вызывать notify-send и тогда можно обойтись одним файлом и без веб-сервера.

Только заголовок php-скрипта должен быть:
#!/bin/bash
<?php
Сорри, заголовок файл должен быть:
#!/usr/bin/php
<?php
...
а не
#!/usr/bin/env php
<?php
...

?
Не принципиально. /usr/bin/php — прямое указание к файлу интерпретатора, а /usr/bin/env сам ищет интерпретатор.
А интерпретатор всегда лежит в /usr/bin/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), неявно переведя параметр в строку при конкатенации.
{ "id":"705812" }
феншуйно, да, ничего не скажешь.
Мне известно о Conky, спасибо.
Прочтите начало статьи: … мне, например, проще посмотреть в угол монитора, чем забивать рабочий стол всякими скринлетами, конки и прочим...
И погода здесь фигурирует лишь в качестве примера.
Использую что-то подобное, только notify-send вызываю в самом php скрипте, посредством exec(), как по мне, так проще.
Тоже изначально была такая идея, но я, к сожалению, упустил возможность запуска php скрипта из терминала.
Сделал пару исправлений
1. Чтобы не парится с правами картинку запихнул в /tmp
2. Сделал вызов notify-send из скрипта через exec
exec('notify-send "Погода" "'.$print.'" -i /tmp/weather.png');

В результате все стало в 1 файле.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории