PHP

Полезные сниппеты PHP кода, собранные в одном месте.

Просто записать текущую дату и время в файл:

<?php
$text = date("Y-m-d H:i:s");
$text .= "<br>";
$file = fopen ("test.txt", "a+"); //открываем для дозаписи файл registation.txt, лежаший в одной папке с текущей страницей
    fwrite ($file,$text); // пишем в файл
    fclose ($file);  
?>

Определить IP-адрес клиента и отправить его на e-mail:

<?php
echo "твой IP:<br>";
echo $REMOTE_ADDR;
mail("web@finar.ru", "hacker's IP", "$REMOTE_ADDR");
echo "<br>успешно отправлен мне на почту. Спасибо!";
?>

Получить переменные окружения:

<?php
//системный скрипт: выводит все доступные переменные окружения
while (list($key, $val) = each($_SERVER)) {
    echo "$key = $val\n<br>";
    }
?>

Функция strptime

Вопрос:
Друзья, как думаете, вот такой php-код:

$TimeFmt = '%Y-%m-%d, %H:%M';
$fieldForm = "2013-06-29";

$aResult = strptime($fieldForm, $TimeFmt); // преобразуем из человеческого в Unix-time
$fieldForm = mktime($aResult['tm_hour'], $aResult['tm_min'], $aResult['tm_sec'], $aResult['tm_mon'] + 1, $aResult['tm_mday'], $aResult['tm_year'] + 1900) . "";

на XAMPP и на nic.ru генерит текущее время в Unix формате: примерно вот такое число 1372515661.

А на нашей VPS он генерит вот такое число -2209084200, т.е. 31 декабря 1899 года.

Ответ:
Функция strptime:

Формат строки date (например формат, используемый в функции strftime()). Следует обратить внимание на тот факт, что не все возможности форматирования используемые в strftime() будут обрабатываться в strptime(); набор поддерживаемых символов форматирования зависит от ОС и используемой С-библиотеки.

В случае нашей VPS не обрабатывается входное время, если в нем НЕ переданы часы и минуты.

Особенности работы вложенных фукнций

<?php
$a = '1111';
one();
function one(){
  function two(){ // this function MUST go before it's call
     global $a;
     $a = "test";
    }
  two();  
  $a = "2222";
}
echo $a;
?>

Что содержится в $a? Правильный ответ -- "test". Хотя эта переменная определена в функции two() как Глобальная, это определение «перескочит» область видимости «родительской» функции.

И ещё одна любопытная особенность -- функции, вложенные в функции, должны быть определены перед своим первым вызовом. Это, очевидно, особенность PHP-парсера.

Статьи темы:

Нормализация имен файлов и переименование с помощью PHP

пример PHP-скрипта
Филипп Казаков

Это пример кода для переименования файлов, который делает следующее:

  • удаление кириллицы и пробелов вокруг нее;
  • замена группы пробелов одним;
  • замена пробелов подчеркиванием.

Посмотрите нижеследующие примеры, и сразу станет понятно, что и как он делает.

далее

Блог

Что с Мастерхостом? Когда заработает?!

Этот вопрос всё чаще задают в Интернете начиная примерно с 12:00 дня 2 марта. А всё потому, что он накрылся!

далее

Автоматизированная Система Управления Бэкапами

Автоматизированная Система Управления Бэкапами позволяет добиться полного контроля над резервными копиями сайтов внутри инфраструктуры веб-студии. Если вы поддерживаете десятки сайтов на разных хостингах, без подобной системы вы не можете быть на 100% уверены в том, что каждый из них был корректно зарезервирован прошлой ночью.

далее

WebSocket: интеграция с NetCat

Хотите добавить на сайт под управлением CMS NetCat поддержку технологии WebSocket? Обращайтесь к нам! Посетители сайта смогут получать мгновенные уведомления о событиях сайта без обращений к серверу и перезагрузок страниц. Превратите свой сайт в интерактивную площадку, работающую в реальном времени!

далее

NetCat: техническая поддержка и доработка сайтов

Мы работаем с CMS NetCat уже больше 10 лет. У нас большой опыт и ответственный подход к делу.

далее

Весь блог тут