?

Log in

Previous 10

Mar. 3rd, 2010

PHP inside CMD/BATCH scripts

A simple way to integrate php and CMD scripts on Windows.

php-inside-cmd.cmd
@echo off
PATH_TO_PHP -r "ob_start(); require_once('%0');" %1 %2 %3 
exit
<?php

ob_end_clean();

// your code here
// print_r($argv);

?>

Note. "%1 %2 %3" could continued if you need more command-line arguments used in PHP script
Tags: , ,

May. 12th, 2009

Шаблонизатрр на shell

Часто для целей серверной автоматизации требуется генерация конфигурационных файлов.

Предлагается использовать для этих целей следующую shell-конструкцию

*BSD:



#!/bin/sh
template_file='mytemplate'
myvar1='variable 1'
template=`cat ${template_file}`
eval "echo \"${template}\"" > ${config_file}


Linux:



#!/bin/bash
template_file='mytemplate'
myvar1='variable 1'
template=`cat ${template_file}`
eval "echo \"${template}\"" > ${config_file}


Переменная template_file содержит путь к шаблону, остальные переменные - данные для шаблона. Последная строчка - ничто иное, как "движок" шаблонизатора, eval-вычисление строки-шаблона.

Пример шаблона:

myvar = ${myvar1}
this is a \" quotes test \"
$(
 if [ ! -z ${myvar2} ]; then
  echo "myvar2 is set and its value = ${myvar2}"
 fi
)


Важно отметить, что в шаблона следует экранировать кавычки.
В шаблоне можно использовать не только подстановки значений, но и управляющие конструкции, заключенные в скобки (см. пример шаблона).

Apr. 14th, 2009

Решение проблемы с Zend Optimizer

При использовании расширения Zend Optimizer для PHP при вызове зашифрованных скриптов, содержащих подключение файлов с незашифрованным кодом может выкинуться ошибка следующего вида:

PHP Fatal error: Code from this file can only be run in conjunction with files encoded...

Чтобы решить данную проблему, нужно убедиться, что не используется PHP-расширение apc.

Взято отсюда: www.activecollab.com/forums/topic/3093/.

Apr. 10th, 2009

OpenDLink

Недавно занимался созданием альтернативы коробочкам от DLink на основе FreeBSD, а именно: шаблонизатором конфигурационных файлов и веб-интерфейсом.
Следующие посты будут посвящены некоторым интересным моментам.

Feb. 12th, 2009

Три числа русского языка

Ну их три. Три числа.

Единственное. Один друг. Одна ложка. Одна судьба.
Двойственное. Два друга. Две ложки. Две судьбы.
Множественное. Пять друзей. Пять ложек. Пять судеб.

Ну вот как-то так.

Jan. 21st, 2009

Уроки UNIX shell

Есть ряд задач, которые нужно выполнить в UNIX.

1. Вывод размера текущей директории

Решение:
du -hs .

2. Вывод имен файлов, больше или меньше определенного размера

Решение:
find -f . \( -size +10M \)
+ — больше, - — соответственно меньше, без ничего — ровно 10 мегабайт.


3. Заархивировать файлы, список имен которых записаны в другом файле или выводятся программой

Решение:
xargs tar cf list.tar < list.txt

Jan. 17th, 2009

Девочка и птицелет

Заинтересовался творчеством кинорежиссера Ричарда Викторова (тот который «Москва-Кассипея»). Есть у него фильм «Переходный возраст», снятый по книге Владимира Киселева «Девочка и птицелет». Раньше, да и сейчас, любил книги про такое дело — переходный возраст, подростковые проблемы. И решил заценить оригинал. Вот начало книжки, после которого читать не захотелось:



Это все взрослые выдумали про счастливое детство. Чтобы им было не так стыдно. Есть только счастливая взрослость. А счастливого детства нет и не
может быть. Спросите у любого ребенка.


Начнем с работы. У взрослых в нашей стране семичасовой рабочий день. У школьника — шесть уроков в школе, а потом ещё, даже если учиться на тройки,
как я, нужно дома готовить уроки не меньше трех часов. Значит, выходит девятичасовой рабочий день, как в самых отсталых колониальных странах.


Когда у взрослого что-нибудь не получается на работе, ему все сочувствуют, все его жалеют. Когда мамин отдел завалил какой-то проект, так
все говорили: «Ах, Елена Павловна, как мы вас понимаем, не нужно ли вам какой-нибудь помощи, не поедете ли вы на курорт?», а мама в ответ делала жалкие губки и говорила, что она очень переживает.


Но когда я схватила двойку по алгебре, весь двор смеялся, и, кто бы меня ни встретил, все спрашивали, на какой вопрос я не ответила, и
продавщица мороженого — ей-то какое дело! — сказала, что двоечницам мороженое вредит.



Привет Владимиру Киселеву, не довольному счастливым детством своей героини из 1966 года. Как страшно было раньше жить, а сейчас — благодать какая, все наоборот, детство счастливое, а все остальное — нет.

Хитрости-трудности

Пока подберешь пароль к ЖЖ, почти все мысли растеряешь, что хотел накалякать.
На какие только хитрости не идут вебмастеры (уже почти подзабытый ныне термин), для того, чтобы их детища не могли быть использованы не по назначению.
Раньше как — запрос-страничка.
А теперь:
1) «докажите, что вы человек
2) «вы ввели неверный адрес электронной почты»
3) «вы превысили ограничение на максимальный размер сообщения»


А потом:
4) хитрый подзапрос шифруется скриптом, который динамически подгружается другим хитрым подзапросом
5) проверяется идентификатор сессии PHP


И если дошли до этого уровня, нас ждет босс:


6) введенные данные проверяются на наличие скрытых SQL-запросов
7) дополнительная «санитизация ввода», куда же без нее
8) обработка
9) вывод результата в формате JSON, или, чего там мелочиться, сразу динамического JavaScript


Вот так. И все это, чтобы не скучать субботним утром. Спасибо, ребята!

Jan. 7th, 2009

«Kaк мнe наказaть моего парня?»

Дeнис пpивет кстати =) ...за тo что он вылoжил съeмку нашего буpного секса c ним и егo другом нa сaйт
b r e b . r u ?

Денис: «Иди работать, спамер ******, *** ** ***, ********, *******, *****... *******»

Пора бы уже и написать

Прошедшие 11 недель с последнего поста выдались относительно загруженными.
Забавно выходить на работу в выходной после двух прогулов — ни пробок, ни суеты.
А вот еще. Когда на Epson Stylus C62 моргают поочередно красная и зеленая лампочка, проверьте «памперс» — отстойник для краски.
И пусть все забудут про дурацкий т.н. «гражданский брак», называйте вещи своими именами: «сожительство», «фактический брак», или просто: «дружба».

P.S. TEX, кстати, прикольная штука.

Previous 10