Функция преобразует все URL адреса в тексте в ссылки

function makeClickableLinks($text) { 
    $text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&amp;//=]+)', '<a target="_blank" href="\\1">\\1</a>', $text); 
    $text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_\+.~#?&amp;//=]+)', '\\1<a href="http://\\2";>\\2</a>', $text); 
    $text = eregi_replace('([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})', '<a href="mailto:\\1">\\1</a>', $text); 
    return $text; 
}

Закрываем доступ к папке с помощью .htaccess и .htpasswd

Если необходимо закрыть доступ к файлам, в опредиленной папке, данный скрипт создаст все необходимые файлы для конфигурации вебсервера Apache

Читать далее «Закрываем доступ к папке с помощью .htaccess и .htpasswd»

PHP date() – вывод русского месяца

Пример работы обычной команды data(«d M Y»);

Выведет результат: 01 Mar 2012

Пример работы новой функции rdate(«d M Y»);

Выведет результат: 01 Марта 2012

Во всем остальном новая функция rdate() работает точно также как и стандартная функция. Для вывода месяца в форматированной дате используется латинский символ «M». Так же возможен второй параметр функции, для указания метки времени – timestamp.

function rdate($param, $time=0) {
    if(intval($time)==0)$time=time();
    $MonthNames=array("Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря");
    if(strpos($param,'M')===false) return date($param, $time);
        else return date(str_replace('M',$MonthNames[date('n',$time)-1],$param), $time);
}

Транслитирация русской строки

Переводит русские букауки в латиницу

function TransliteString($str)
{
$str=strtr($str, array('а'=>'a','б'=>'b','в'=>'v','г'=>'g','д'=>'d','е'=>'e','з'=>'z','и'=>'i','й'=>'y','к'=>'k','л'=>'l','м'=>'m','н'=>'n',
'о'=>'o','п'=>'p','р'=>'r','с'=>'s','т'=>'t','у'=>'u','ф'=>'f','х'=>'h','ъ'=>'','ы'=>'y','э'=>'e','_'=>'i',' '=>'-',
'А'=>'A','Б'=>'B','В'=>'V','Г'=>'G','Д'=>'D','Е'=>'E','З'=>'Z','И'=>'I','Й'=>'Y','К'=>'K','Л'=>'L','М'=>'M','Н'=>'N',
'О'=>'O','П'=>'P','Р'=>'R','С'=>'S','Т'=>'T','У'=>'U','Ф'=>'F','Х'=>'H','Ъ'=>'','Ы'=>'Y','Э'=>'E','_'=>'I'
));
$str=strtr($str, array("ё"=>"yo","ж"=>"zh", "ц"=>"ts", "ч"=>"ch", "ш"=>"sh",
"щ"=>"shch","ь"=>"","ю"=>"yu","я"=>"ya", "Ё"=>"Yo", "Ж"=>"Zh", "Ц"=>"Ts",
"Ч"=>"Ch", "Ш"=>"Sh", "Щ"=>"Shch","Ь"=>"", "Ю"=>"Yu", "Я"=>"Ya", "ї"=>"i",
"Ї"=>"Yi", "є"=>"ie", "Є"=>"Ye"
));
return $str;
}

Отправка письма с вложением

Функция предназначена для отправки письма с сайта с вложенным файлом. Создадим HTML-форму, предназначенную для заполнения пользователем

HTML-форма index.php

<HTML> 
<HEAD> 
<TITLE>Отправка сообщения с вложением</TITLE> 
</HEAD> 
<BODY> 
<H3> <center><font color=#1E90FF>Отправка сообщения с вложением</font></H3> 
<center> 
<table width=1 border=0> 
<form action=simple_mail.php enctype='multipart/form-data' method=post> 

<tr><td width=50%>To:</td><td align=right><input type=text name=mail_to maxlength=32></td></tr> 
<tr><td width=50%>Subject:</td><td align=right><input type=text name=mail_subject maxlength=64></td></tr> 
<tr><td colspan=2>Сообщение:<br><textarea cols=50 rows=8 name=mail_msg></textarea></td> 
<tr><td width=50%>Photo:</td><td align=right><input type=file name=mail_file maxlength=64></td></tr> 
</tr><tr><td colspan=2><input type=submit value='Отправить'></td></tr> 
</form> 
</table> 
</center> 
</BODY> 
</HTML>
Читать далее «Отправка письма с вложением»

Пример использования number_format()

<?php

$number = 1234.56;

// английский формат (по умолчанию)
$english_format_number = number_format($number);
// 1,235

// французский формат
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56

$number = 1234.5678;

// английский формат без разделителей групп
$english_format_number = number_format($number, 2, '.', '');
// 1234.57

?>

Добавление жесткого диска в CentOS более 2TB

Проблема следующая, при подключении жесткого диска на 3Tb, предназначался он для хранения бэкапов, и его разметке через fdisk, система видит только 750Gb, что не есть хорошо, проблема довольно легко решается и сейчас я об этом расскажу.

Для начала установим пакет

yum install parted

Предположим что у меня в системе был один жеский диск он называется /dev/sda, тогда второй хард, который у нас на 3Тб будет устройство /dev/sdb вот с ним мы и будем работать.

Читать далее «Добавление жесткого диска в CentOS более 2TB»

Добавление жесткого диска в CentOS до 2TB

Добавляем диск в систему, проверяем, появился ли он:

fdisk -l

Разбиваем диск на разделы

fdisk /dev/sdb1
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free) e extended
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-419430399, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-419430399, default 419430399): 
Using default value 419430399
Partition 1 of type Linux and of size 200 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
Читать далее «Добавление жесткого диска в CentOS до 2TB»

Борьба с взломом

кто залогинен по ssh

netstat -tnpa | grep 'ESTABLISHED.*sshd'

последние 50 подключений

last | head -n 50

Отслеживать в реальном времени кто стучится на ssh

tail -f -n 50 /var/log/secure | grep sshd

vsftpd показывает неправильное время у файлов.

vsftpd сервер показывает время файлов либо в UTC (GMT), либо локальное время с учётом часового пояса. Это поведение включается и выключается одной директивой в конфигурационном файле: /etc/vsftpd.conf (или в /etc/vsftpd/vsftpd.conf)

use_localtime=YES

Значение YES включает использование часового пояса, значение NO выключает его использование и приводит к показу времени у файлов в UTC (GMT).

Кажется всё просто: задал значение, перезапустил службу командой

sevice vsftpd restart

и всё. Но не тут-то было!

На самом деле всё очень сильно зависит от того приложения с которым вы работает по FTP. Например, клиент командрой строки ftp или менеджер файлов Midnight Commander и даже браузер Firefox покажут правильное время, а вот Filezilla время покажет неправильно! В случае использования UTC (GMT) проблем нет, но вот локальное время с привязкой к часовому поясу не получите.