<?php
# _________ перекодировка из utf-8 в win
function utf($s){
$out=""; $c1=""; $byte2=false;
for($c=0; $c<strlen($s); $c++ ){ $i = ord($s[$c]); if ($i<=127) $out.= $s[$c]; if($byte2){ $new_c2=($c1 & 3)*64+($i & 63); $new_c1=($c1 >> 2) & 5; $new_i = $new_c1*256+$new_c2;
if($new_i == 1025){ $out_i = 168; }else{ if($new_i == 1105){ $out_i=184; }else{ $out_i = $new_i-848; }} $out.=chr($out_i); $byte2 = false; } if(($i >> 5) == 6){ $c1 = $i; $byte2 = true; }} return $out; }
# _________ русские символы в англ.
function to_eng($message){
$message=str_replace(
array('Ё','Ж','Ч','Ш','Щ','Э','Ю','Я','ё','ж','ч','ш','щ','э','ю','я','А','Б','В','Г','Д','Е','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ы','а','б','в','г','д','е','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ъ','ы','ь','Ъ','Ы','Ь'),
array('YO','ZH','CH','SH','SCH','E','YU','YA','yo','zh','ch','sh','sch','e','yu','ya','A','B','V','G','D','E','Z','I','J','K','L','M','N','O','P','R','S','T','U','F','H','C','Y','a','b','v','g','d','e','z','i','j','k','l','m','n','o','p','r','s','t','u','f','h','c','b','yi','b','b','YI','b'), $message);
return $message; }
function check($message){
$message=htmlspecialchars($message, ENT_QUOTES);
$message = trim($message);
$message=str_replace("'","'",$message);
$message=str_replace("\"","",$message);
$message=str_replace("\$","",$message);
$message=str_replace(">","",$message);
$message=str_replace("<","",$message);
$message=str_replace("mysql","mуsql", $message);
$message=str_replace("query","quеry", $message);
$message=preg_replace ("|[\r\n]+|si","<br>",$message);
$message=stripslashes(trim($message));
return $message; }
# _________ время на русском
function vrem($datestamp){
$datestamp = str_replace("January","Января",$datestamp);
$datestamp = str_replace("February","Февраля",$datestamp);
$datestamp = str_replace("March","Марта",$datestamp);
$datestamp = str_replace("April","Апреля",$datestamp);
$datestamp = str_replace("May","Мая",$datestamp);
$datestamp = str_replace("June","Июня",$datestamp);
$datestamp = str_replace("July","Июля",$datestamp);
$datestamp = str_replace("August","Августа",$datestamp);
$datestamp = str_replace("September","Сентября",$datestamp);
$datestamp = str_replace("October","Октября",$datestamp);
$datestamp = str_replace("November","Ноября",$datestamp);
$datestamp = str_replace("December","Декабря",$datestamp);
$datestamp = str_replace("Monday","Понедельник",$datestamp);
$datestamp = str_replace("Tuesday","Вторник",$datestamp);
$datestamp = str_replace("Wednesday","Среда",$datestamp);
$datestamp = str_replace("Thursday","Четверг",$datestamp);
$datestamp = str_replace("Friday","Пятница",$datestamp);
$datestamp = str_replace("Saturday","Суббота",$datestamp);
$datestamp = str_replace("Sunday","Воскресенье",$datestamp);
return $datestamp; }
function clr($msg){
$msg = preg_replace('#\[big\](.*?)\[/big\]#si', '<big>\1</big>', $msg);
$msg = preg_replace('#\[b\](.*?)\[/b\]#si', '<b>\1</b>', $msg);
$msg = preg_replace('#\[i\](.*?)\[/i\]#si', '<i>\1</i>', $msg);
$msg = preg_replace('#\[u\](.*?)\[/u\]#si', '<u>\1</u>', $msg);
$msg = preg_replace('#\[small\](.*?)\[/small\]#si', '<small>\1</small>', $msg);
$msg = preg_replace('#\[red\](.*?)\[/red\]#si', '<font color="#ff0000">\1</font>', $msg);
$msg = preg_replace('#\[green\](.*?)\[/green\]#si', '<font color="#11dd11">\1</font>', $msg);
$msg = preg_replace('#\[blue\](.*?)\[/blue\]#si', '<font color="#0022ff">\1</font>', $msg);
$msg = preg_replace('#\[yellow\](.*?)\[/yellow\]#si', '<font color="#ffff00">\1</font>', $msg);
$msg = preg_replace('#\[white\](.*?)\[/white\]#si', '<font color="#ffffff">\1</font>', $msg);
$msg = preg_replace('#\[black\](.*?)\[/black\]#si', '<font color="#000000">\1</font>', $msg);
return $msg; }
# функция удаления дирректории с вложенными в неё файлами:
function cleardir($dir)
{
$opdir=opendir($dir);
while ($a = readdir($opdir))
{
if ($a != "." && $a != ".." && !is_dir($dir .'/'.$a))
{
unlink($dir .'/'.$a);
}
elseif ($a != "." && $a != ".." && is_dir($dir .'/'.$a)) cleardir($dir .'/'.$a);
} closedir ($opdir);
if(rmdir($dir)) return TRUE;
else{ return FALSE; }
}
# _________ количество файлов в папках произвольной вложенности
function all_files($dir){
$c=0;
$d=dir($dir);
while($str=$d->read()){
if($str{0}!='.'){
if(is_dir($dir.'/'.$str))
$c+=all_files($dir.'/'.$str);
else $c++;
}} $d->close();
return $c;}
# _________ ВЕС ИМПОРТИРУЕМОГО ФАЙЛА
function imp_size($path){
$fp=fopen($path,'r');
$info=stream_get_meta_data($fp);
fclose($fp);
foreach($info['wrapper_data'] as $v)
if (stristr($v,'content-length')){
$v=explode(':',$v);
return trim($v[1]);}}
# _________ правильный вес файла
function ves($file_size){
if($file_size >= 1073741824){
$file_size = round($file_size / 1073741824 * 100) / 100 . " Gb";
}elseif(
$file_size >= 1048576){
$file_size = round($file_size / 1048576 * 100) / 100 . " Mb";
}elseif(
$file_size >= 1024){
$file_size = round($file_size / 1024 * 100) / 100 . " Kb";
}else{
$file_size = round($file_size) . " b";}
return $file_size; }
/* пример использовнания
$siz= filesize("FORUM.zip");
echo''.formatsize($siz).''; */
//-------------------------------- НАВИГАЦИЯ -------------------------------------//
function page_navigation($link, $posts, $start, $total, $koll = 4) {
if($total>0){
$ba=ceil($total/$posts);
$ba2=$ba*$posts-$posts;
$min = $start - $posts * ($koll - 1);
$max = $start + $posts * $koll;
if($min<$total && $min>0){
if($min-$posts>0){
echo ' <span class="pagelink"><a href="'.$link.'start=0">1</a></span> ... ';
} else {
echo ' <span class="pagelink"><a href="'.$link.'start=0">1</a></span> ';
}}
for($i=$min; $i<$max;){
if($i<$total && $i>=0){
$ii=floor(1+$i/$posts);
if ($start==$i) {
echo ' <span class="pagecurrent"><b>'.$ii.'</b></span> ';
} else {
echo ' <span class="pagelink"><a href="'.$link.''.$i.'">'.$ii.'</a></span> ';
}}
$i=$i+$posts;}
if($max<$total){
if($max+$posts<$total){
echo ' ... <span class="pagelink"><a href="'.$link.''.$ba2.'">'.$ba.'</a></span> ';
} else {
echo ' <span class="pagelink"><a href="'.$link.''.$ba2.'">'.$ba.'</a></span> ';
}}
}}
function prava($dirs){
$dirs = decoct(fileperms($dirs)) % 1000;
return $dirs; }
# Генератор паролей
function gen_cod($num)
{
//симвлы из которых генерируется пароль
$kod=array(
'a','b','c','d','e','0',
'f','g','h','i','j','1',
'k','l','m','n','o','2',
'p','q','r','s','t','3',
'u','v','w','x','y','z','4',
'A','B','C','D','E','5',
'F','G','H','I','J','6',
'K','L','M','N','O','7',
'P','Q','R','S','T','8',
'U','V','W','X','Y','Z','9'
);
$ko='';
for($i=1; $i<=$num; $i++)
{
$ko.=$kod[array_rand($kod)];
}
return $ko;
}
//применение функции - echo gen_cod(6);
?>