Блог О пользователеwminet

Регистрация

Календарь

« Декабрь 2009  
Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

WM-I.NET

 
http://wm-i.net Всё для WEB мастера
1 |2 |3 |4
 

Тег комментариев


http://wm-i.net
http://wm-i.net/?p=401
 Тег 


Элемент! — определяет комментарий, невидимый при просмотре страницы. Между двумя тегами находится ваш текст. Часто бывает необходим при использовании новых тегов, не поддерживаемых в старых браузерах. В этом случае новые теги, обрамленных комментариями не будут отображаться в старых браузерах как непонятный текст


Пример
А ссылку вы видите!
А выглядит код так:





okbm("","")

http://wm-i.net

 
Теги: html
 
 

HTML в примерах


http://wm-i.net
http://wm-i.net/?p=397

Тег HTML состоит из следующих друг за другом в определенном порядке элементов:


левой угловой скобки < (такого же, как "меньше чем" символа)
необязательного слэша /, который означает, что тег является конечным тегом, закрывающим некоторую структуру. Таким образом в этом контексте Вы можете читать символ /, как конец...
имени тега, например TITLE или PRE
необязательных, если даже тег может иметь их, атрибутов. Тег может быть без атрибутов или сопровождаться одним или несколькими атрибутами, например: ALIGN=CENTER
правой угловой скобки > (такой же, как символа «больше чем»).
Примеры:



 


 


 
 
Элементы HTML
Большинство, но не все теги HTML спарены так, что за открывающим тегом следует соответствующий закрывающий тег, а между ними содержится текст или другие теги, например:
 
 

Foreword


 
 
В таких случаях два тега и часть документа, отделенная ими, образуют блок, называемый HTML элементом. Некоторые теги, например

, являются элементами HTML сами по себе, и для них соответствующий конечный тег неверен. Далее мы будем называть теги по их именам, опуская обязательные угловые скобки. 
 
Aтрибуты
Для каждого тега определяется множество возможных атрибутов. Большинство тегов допускает один или несколько атрибутов, однако атрибутов может и совсем не быть. Спецификация атрибута состоит из расположенных в следующем порядке:
 
имени атрибута, например WIDTH
знак равенства (=)
значения атрибута, которое задается строкой символов, например, "80".
Всегда полезно заключить значение атрибута в кавычки, используя либо одинарные ('80'), либо двойные кавычки ("80"). Строка в кавычках не должна содержать такие же кавычки внутри себя. Так, если дата заключена в двойные кавычки, используйте одинарные кавычки для последующего заключения в кавычки, и наоборот. Предпочтительно использование двойных кавычек, так как для глаза человека бывает трудно отличить одинарные кавычки от символов, подобных символам акцентирования.
 
Вы можете также опустить кавычки для значений атрибутов, которые состоят только из следующих символов (обратитесь к технической концепции имени):
 
символов английского алфавита (A - Z, a - z)
цифр (0 - 9)
промежутков времени
дефисов (-)
Таким образом, WIDTH=80 и ALIGN=CENTER - разрешенное сокращение для WIDTH="80" и ALIGN="CENTER". Ссылка на URL, например, HREF=http://go.blog.ru/?foo. Htm, допустима, однако, когда URL используется с атрибутами, он должен быть заковычен, например HREF="http://go.blog.ru/?http: //www. Hut. Fi/". Существуют некоторые броузеры, которые допускают отсутствие кавычек или наличие элементов с открывающими кавычками без закрывающих. Однако, такую практику лучше не применять.
 
В пределах значения атрибута теги HTML не воспринимаются. А escape последовательности распознаются и интерпретируются, как символы.
 
Если значение атрибута такое же, как его имя, может быть использован минимальный синтаксис атрибута. То есть
  • можно сократить до
    • . Некоторые агенты пользователей (программы просмотра пользователя, броузеры) даже требуют минимизации для некоторых атрибутов (COMPACT, ISMAP, CHECKED, NOWRAP, NOSHADE, NOHREF). Так что лучше использовать минимизированный синтаксис там, где это возможно.
       
      Значения атрибутов должны быть отделены пробелами или незаполненными строками.
       
      Чувствительность к регистру
      Что касается имен тегов, атрибутов и большинства значений атрибутов, HTML нечувствителен к регистру. Вы можете, например, написать TITLE, или Title, или title, или даже tItLE, если Вам нравится. Но существуют и чувствительные к регистру конструкции языка, а именно:
       
      escape последовательности (более официально называемые символьными объектами), которые начинаются знаком & (например, < )


URL, так как он может содержать наименования файлов, которые являются case чувствительными во многих операционных системах (например, в Unix).
Разделение на строки и использование пробелов и символов табуляции
Когда документ выводится на экран, пробелы и пустые линии не сохраняются, за исключением текста, заключенного в теги PRE (предварительно отформатированный текст). То есть любая последовательность пробелов, символов табуляции и пустых линий эквивалентна единственному пробелу в файле HTML. С другой стороны, пробел в файле HTML может быть представлен с использованием любого количества пробелов или новыми (пустыми) строками.


okbm("","")

http://wm-i.net

 
Теги: html
 
 

Команды Putty / SSH / Unix / Linux


http://wm-i.net
http://wm-i.net/?p=394

Файловые команды


ls – список файлов и каталогов
ls -al – форматированный список со скрытыми каталогами и файлами
cd dir – сменить директорию на dir
cd – сменить на домашний каталог
pwd – показать текущий каталог
mkdir dir – создать каталог dir
rm file – удалить file
rm -r dir – удалить каталог dir
rm -f file – удалить форсированно file
rm -rf dir – удалить форсированно каталог dir *
cp file1 file2 – скопировать file1 в file2
cp -r dir1 dir2 – скопировать dir1 в dir2; создаст каталог dir2, если он не существует
mv file1 file2 – переименовать или переместить file1 в file2. если file2 существующий каталог – переместить file1 в каталог file2
ln -s file link – создать символическую ссылку link к файлу file
touch file – создать file
cat > file – направить стандартный ввод в file
more file – вывести содержимое file
head file – вывести первые 10 строк file
tail file – вывести последние 10 строк file
tail -f file – вывести содержимое file по мере роста, начинает с последних 10 строк


Управление процессами


ps – вывести ваши текущие активные процессы
top – показать все запущенные процессы
kill pid – убить процесс с id pid
killall proc – убить все процессы с именем proc *
bg – список остановленных и фоновых задач; продолжить выполнение остановленной задачи в фоне
fg – выносит на передний план последние задачи
fg n – вынести задачу n на передний план
Права доступа на файлы
chmod octal file – сменить права file на octal, раздельно для пользователя, группы и для всех добавлением:
● 4 – чтение (r)
● 2 – запись (w)
● 1 – исполнение (x)
Примеры:
chmod 777 – чтение, запись, исполнение для всех
chmod 755 – rwx для владельца, rx для группы и остальных.
Дополнительные опции: man chmod.
SSH
ssh user@host – подключится к host как user
ssh -p port user@host – подключится к host на порт port как user
ssh-copy-id user@host – добавить ваш ключ на host для user чтобы включить логин без пароля и по ключам


Поиск


grep pattern files – искать pattern в files
grep -r pattern dir – искать рекурсивно pattern в dir
command | grep pattern – искать pattern в выводе command
locate file – найти все файлы с именем file Системная информация
date – вывести текущую дату и время
cal – вывести календарь на текущий месяц
uptime – показать текущий аптайм
w – показать пользователей онлайн
whoami – имя, под которым вы залогинены
finger user – показать информацию о user
uname -a – показать информацию о ядре
cat /proc/cpuinfo – информация ЦПУ
cat /proc/meminfo – информация о памяти
man command – показать мануал для command
df – показать инф. о использовании дисков
du – вывести “вес” текущего каталога
free – использование памяти и swap
whereis app – возможное расположение программы app
which app – какая app будет запущена по умолчанию


Архивация


tar cf file.tar files – создать tar-архив с именем file.tar содержащий files
tar xf file.tar – распаковать file.tar
tar czf file.tar.gz files – создать архив tar с сжатием Gzip
tar xzf file.tar.gz – распаковать tar с Gzip
tar cjf file.tar.bz2 – создать архив tar с сжатием Bzip2
tar xjf file.tar.bz2 – распаковать tar с Bzip2
gzip file – сжать file и переименовать в file.gz
gzip -d file.gz – разжать file.gz в file


Сеть


ping host – пропинговать host и вывести результат
whois domain – получить информацию whois для domain
dig domain – получить DNS информацию domain
dig -x host – реверсивно искать host
wget file – скачать file
wget -c file – продолжить остановленную закачку


Установка пакетов


Установка из исходников:
./configure
make
make install
dpkg -i pkg.deb – установить пакет (Debian)
rpm -Uvh pkg.rpm – установить пакет (RPM)


Клавиатурные сочетания


Ctrl+C – завершить текущую команду
Ctrl+Z – остановить текущую команду, продолжть с fg на переднем плане или bg в фоне
Ctrl+D – разлогиниться, тоже самое, что и exit
Ctrl+W – удалить одно слово в текущей строке
Ctrl+U – удалить строку
!! – повторить последнюю команду
exit – разлогиниться


okbm("","")

http://wm-i.net

 

JohnCMS 2.4.0 build 170


JohnCMS 2.4.0 build 170


Ситема управления сайтом JohnCMS (Content Management System)
Предназначена для построения сайтов, которые будут просматриваться
с мобильных телефонов. Ситиема полностью соответствует спецификации
XHTML Mobile Profile и имеет небольшой размер генерируемых страниц.
Основные возможности системы:
- высокий уровень безопасности
- быстрая в работе, построена на MySQL
- продвинутая система разграничений прав для админов/модеров
- форум с возможностью закрепления/закрытия тем, возможность скачать
тему в. Txt формате, возможность прикрепления файлов в теме и многое другое…
- гостевая книга
- Админ – клуб
- чат с викториной, и интимом.
- продвинутая библиотека с неограниченной вложенностью разделов и
возможностью для посетителей сайта публиковать свои статьи.
Есть модерация статей, которые опубликовали посетители.
Автоматическая компиляция Java книг.
- продвинутая фотогаллерея с возможностью для пользователей
создавать свои личные фотоальбомы.
- загруз центр с неограниченной вложенностью разделов, счетчиком,
рейтингом и камментами.
- приват (личная почта) с возможностью прикрепления файлов
- удобная работа со смайлами
- смена стилей
- и многое другое…


Инструкция по установке, находится в файле install. Txt


Скачать JohnCMS 2.4.0 build 170


okbm("http://wm-i.net/?p=388","JohnCMS 2.4.0 build 170")

 
Теги: двиги|johncms
 
 

WAP MOTOR


Функционально законченная система управления контентом(CMS) написанная на PHP. Она НЕ использует базу данных MySQL
Для хранения содержимого вашего сайта, как например, Новости, Сообщения на форуме, чате, гостевой, профили пользователей, письма привата и так далее, используются только файлы
W@P-MOTORS использует много полезных функций который облегчают работу с ним и его использование
Сжатие данных GZIP позволяет экономить на трафике
Функция буферизации OB_START и работа с перехватом выходного потока ускоряют показ страниц и снижают нагрузку на сервер, функция Антидос контролирует частоту обращений с различных IP, блокирует его в случае превышения установленных лимитов.
Функции антифлуд и антимат не позволяют пользователям выходить за рамки установленных правил


В файловой структуре W@P-MOTORS установлены строгие порядки к примеру вся база данных сайта хранится в папке local и ни где больше! Это позволяет легче контролировать все файлы, доступ к ним из браузера закрыт
Конфигурационные файлы хранятся в папке template, это файлы с помощью которых работает движок, все файлы имеют разное значение, но в основном они просто необходимы системе
Темы и скины хранятся в папке themes, каждая тема должна состоять из 2 основных файлов index. Php это верх и foot. Php -низ, файлы лежат в папке имя которой является названием темы/скина
В папке images хранятся все картинки используемые в движке, они отсортированы и лежать в подпапках
В папке mpanel находится центр управления сайтом, простой пользователь не сможет туда попасть, даже зная адреса с папкой, при входе его перебросит на главную с ошибкой 404, администратор может изменить имя папки в настройках системы, каждый файл в админке отвечает за определенные действия, к примеру файл forum. Php управляет форумом, файл book. Php – гостевой книгой, остальные файлы также имеют схожие названия
Уровень доступа в движке определяется по значению 7 ячейки в профиле, к примеру обычному пользователю при регистрации ставится уровен 107, модерератор имеет уровень 105, старший модератор имеет уровен 103, админ -102 и суперадмин уровень 101, каждый уровень имеет разные привелегии, к примеру пользователи не смогут изменять сообщения в гостевой, модеры не смогу управлять изменять профили пользователей, а админ управлять уровнями, на сайте может быть несколько админов и суперадминов, ограничений нет, однако выставлять необходимые уровни может только 1 суперадмин, самый старший логин которого вписан в файл системы при инсталляции, модеры могут банить пользователей, однако не имеют банить членов модерского и админского состава, при этом себя для теста забанить могут, также и админ не сможет изменять профили модеров
Для новичков на сайте установлены некоторые ограничения, к примеру новенькие не могу передавать монеты, брать кредит в банке, изменять свой ник, отдавать свой голос, а также получать его, сделано это не только как простое ограничение, а с целью предотвратить возможность прокачки профилей. Администратор может выставить необходимый уровень защиты от спаммеров, можно закрывать и открывать регисрацию из админ панели, имеется возможность включить подтверждение регистрации, при создании аккаунта, пользователю на электронный адрес будет отправлено письмо с кодом регистрации, если его не ввести, то на сайт попасть будет невозможно


Для всех пользователей в том числе не авторизованных имеется возможность изменять скины/темы, если зайти по адресу ваш_сайт. Домен/wap то тема автоматически изменится на wml, для того чтобы вернуть прежнее значение можно просто еще раз зайти по тому же адресу, также и с темой web, которая не вошла в эту версию движка, но обязательно выйдет в следующей, можно зайти по адресу ваш_сайт. Домен/www и тема изменится на web, для удобства можно сделать www и wap как поддомены
Сами скины вы с легкостью можете изменить под свой сайт, сделать это не сложно, а лучше всего не изменять а сделать свой и назвать его своим именем, для создания своего рекомендую вам в качестве шаблона взять тему themes/visavi
Для начала копируем папку и называем ее к примеру test, теперь зайдя в мое меню – настройки можно увидеть ее в списке, но пока она ничем отличаться от темы visaiv не будет, далее открываем файл с вашей темой themes/test/index. Php меняем там на свой вкус цвета, стили и т. Д, в файле themes/test/foot. Php можно прописать какие данные будут выводится внизу сайта, можно отключить или включить: вывод счетчика посещений и счетчик он-лайн пользователей, информацию о генерации страницы, уровень сжатия GZIP, количество переходо и время посещения сайта и некоторые другие знаечения


W@P-MOTORS PORTAL выпущен в рамках и на условиях нашего соглашения. Для дальнейшей информации, пожалуйста ознакомьтесь с файлом Пользовательское соглашение, включенным в дистрибутив.


Вы не имеете право вырезать даже часть кода для дальнейшего использовании их в своих разработках, разрешено использовать только для аддонов, модулей и плагинов непосредственно к этому движку
Вы не должны удалять копирайты «Powered by Wap-Motors» и удалять авторскую информацию из включенных сценариев. В разработку этого продукта вложены тысячи часов изнурительной работы, уважайте авторские права разработчиков.
При покупке лицензии копирайт убирается автоматически без нарушения авторских прав и ваш сайт заносится в список купивших лицензионный ключ движка


Скачать WAP MOTOR 18.1


okbm("http://wm-i.net/?p=385","WAP MOTOR")

 
Теги: wap motor|двиги
 
 

DCMS (6.6.4)


DCMS – Движок, Система Управления Контентом (англ. Content management system, CMS).
Используется для создания полноценного развлекательного портала на сайте.
В составе движка:
1) Система авторизации/регистрации пользователей (ядро движка).
2) Система бана
3) Дополнительные модули:
Чат
Форум
Гостевая книга
Загрузочный центр
Новости
Голосования
Фотогалерея
Файлобменник
Библиотека
4) Админка для настройки и управления
5) Система BackUP’а базы данных
6) Удобный мастер установки


Скачать DCMS 6.6.4


okbm("http://wm-i.net/?p=381","DCMS (6.6.4)")

 
Теги: dcms|двиги
 
 

WM-I.NET



 
Теги: wm-i.net
 
 

Кодировка-раскодировка юникода


$uniarray1=array("А","Б","В","Г","Д","Е","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я","а","б","в","г","д","е","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","э","ю","я","Ё","ё"); 
 
$uniarray2=array("А","Б","В","Г","Д","Е","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я","а","б","в","г","д","е","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","э","ю","я","Ё","ё");
 
 
function unicode_encode($string){
global $uniarray1,$uniarray2;
$string=str_replace($uniarray1,$uniarray2,$string);
return $string;
};
 
function unicode_decode($string){
global $uniarray1,$uniarray2;
$string=str_replace($uniarray2,$uniarray1,$string);
return $string;
};


okbm("http://wm-i.net/?p=377","Кодировка-раскодировка юникода")

 
Теги: функции|php
 
 

Генерирование паролей


function generate_password($length) {
if($length==""){$length=rand(10,12);}
$salt = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789";
$len = strlen($salt);
$makepass = '';
for ($i = 0; $i < < /span > $length; $i++)
$makepass .= $salt[mt_rand(0,$len - 1)];
return $makepass;
}


okbm("http://wm-i.net/?p=375","Генерирование паролей")

 
Теги: функции|php
 
 

Расшифровка по ключу


function base64_to_dec($str){
$str=strtr($str,array("="= >"64","-"= >"63","+"= >"62","9"= >"61","8"= >"60","7"= >"59","6"= >"58","5"= >"57","4"= >"56","3"= >"55","2"= >"54","1"= >"53","0"= >"52","z"= >"51","y"= >"50","x"= >"49","w"= >"48","v"= >"47","u"= >"46","t"= >"45","s"= >"44","r"= >"43","q"= >"42","p"= >"41","o"= >"40","n"= >"39","m"= >"38","l"= >"37","k"= >"36","j"= >"35","i"= >"34","h"= >"33","g"= >"32","f"= >"31","e"= >"30","d"= >"29","c"= >"28","b"= >"27","a"= >"26","Z"= >"25","Y"= >"24","X"= >"23","W"= >"22","V"= >"21","U"= >"20","T"= >"19","S"= >"18","R"= >"17","Q"= >"16","P"= >"15","O"= >"14","N"= >"13","M"= >"12","L"= >"11","K"= >"10","J"= >"9","I"= >"8","H"= >"7","G"= >"6","F"= >"5","E"= >"4","D"= >"3","C"= >"2","B"= >"1","A"= >"0"));
return $str;
}
 
function xoft_decode($cipher_data,$config_keypass){
$m=0;
$all_bin_chars="";
 
for($i=0;$i< < /span >strlen($cipher_data);$i++){
$c=substr($cipher_data,$i,1);
$decimal_value=base64_to_dec($c);
 
$decimal_value=($decimal_value - $m) / 4;
 
$four_bit=decbin($decimal_value);
 
while(strlen($four_bit)< < /span >4){$four_bit="0".$four_bit;}
 
$all_bin_chars=$all_bin_chars.$four_bit;
$m++;
 
if($m >3){$m=0;}
}
$key_length=0;
$plain_data="";
 
for($j=0;$j< < /span >strlen($all_bin_chars);$j=$j+8){
$c=substr($all_bin_chars,$j,8);
$k=substr($config_keypass,$key_length,1);
 
$dec_chars=bindec($c);
$dec_chars=$dec_chars - strlen($config_keypass);
$c=chr($dec_chars);
$key_length++;
 
if($key_length >=strlen($config_keypass)){
$key_length=0;}
 
$dec_chars=ord($c)^ord($k);
$p=chr($dec_chars);
$plain_data=$plain_data.$p;
}
return $plain_data;
}


okbm("http://wm-i.net/?p=373","Расшифровка по ключу")

 
Теги: функции|php
 
 

Шифрование по ключу


function dec_to_base64($str){
$str=strtr($str,array("64"= >"=","63"= >"-","62"= >"+","61"= >"9","60"= >"8","59"= >"7","58"= >"6","57"= >"5","56"= >"4","55"= >"3","54"= >"2","53"= >"1","52"= >"0","51"= >"z","50"= >"y","49"= >"x","48"= >"w","47"= >"v","46"= >"u","45"= >"t","44"= >"s","43"= >"r","42"= >"q","41"= >"p","40"= >"o","39"= >"n","38"= >"m","37"= >"l","36"= >"k","35"= >"j","34"= >"i","33"= >"h","32"= >"g","31"= >"f","30"= >"e","29"= >"d","28"= >"c","27"= >"b","26"= >"a","25"= >"Z","24"= >"Y","23"= >"X","22"= >"W","21"= >"V","20"= >"U","19"= >"T","18"= >"S","17"= >"R","16"= >"Q","15"= >"P","14"= >"O","13"= >"N","12"= >"M","11"= >"L","10"= >"K","9"= >"J","8"= >"I","7"= >"H","6"= >"G","5"= >"F","4"= >"E","3"= >"D","2"= >"C","1"= >"B","0"= >"A"));
return $str;
}
 
 
function xoft_encode($plain_data,$config_keypass){
$key_length=0;
$all_bin_chars="";
$cipher_data="";
for($i=0;$i< < /span >strlen($plain_data);$i++){
$p=substr($plain_data,$i,1);
$k=substr($config_keypass,$key_length,1);
$key_length++;
 
if($key_length >=strlen($config_keypass)){$key_length=0;}
 
$dec_chars=ord($p)^ord($k);
$dec_chars=$dec_chars + strlen($config_keypass);
$bin_chars=decbin($dec_chars);
 
while(strlen($bin_chars)< < /span >8){$bin_chars="0".$bin_chars;}
 
$all_bin_chars=$all_bin_chars.$bin_chars;
}
$m=0;
 
for($j=0;$j< < /span >strlen($all_bin_chars);$j=$j+4){
$four_bit=substr($all_bin_chars,$j,4);
$four_bit_dec=bindec($four_bit);
 
$decimal_value=$four_bit_dec * 4 + $m;
 
$base64_value=dec_to_base64($decimal_value);
$cipher_data=$cipher_data.$base64_value;
$m++;
 
if($m >3){$m=0;}
}
return $cipher_data;
}
 
function eva1($plain){
$cipher="";
for($i=0;$i< < /span >strlen($plain);$i++){
$p=substr($plain,$i,1);
$p=ord($p);
if(($p >=97)&&($p< =122)){
$c=$p + 4;
if($c >122) $c=$c-26;
}elseif(($p >=65)&&($p< =90)){
$c=$p + 4;
if($c >90) $c=$c-26;
}else{
$c=$p;
}
$c=chr($c);
$cipher=$cipher.$c;
}
return $cipher;
}


okbm("http://wm-i.net/?p=371","Шифрование по ключу")

 
Теги: функции|php
 
 

Антимат


function antimat($string){
 
$mat = file_get_contents(BASEDIR."antimat.dat");
$arr_mat= explode("|",$mat);
 
foreach($arr_mat as $value){
if($value!=""){
$string = preg_replace("|$value|iu","***",$string);
}}
 
return $string;}


* antimat.dat – файл со списком матов


okbm("http://wm-i.net/?p=369","Антимат")

 
Теги: функции|php
 
 

Правильный вывод времени


function formattime($file_time){
 
if($file_time >= 86400){
$file_time = 'суток: '.round((($file_time / 60) / 60) / 24, 1);
}elseif(
$file_time >= 3600){
$file_time = 'часов: '.round(($file_time / 60) / 60, 1);
}elseif(
$file_time >= 60){
$file_time = 'минут: '.round($file_time / 60);
}else{
$file_time = 'секунд: '.round($file_time);}
return $file_time;
}


okbm("http://wm-i.net/?p=367","Правильный вывод времени")

 
Теги: функции|php
 
 

Правильный вывод веса файла


function formatsize($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;
}


okbm("http://wm-i.net/?p=365","Правильный вывод веса файла")

 
Теги: функции|php
 
 

Генерация рандомного числа на картинке


http://wm-i.net
http://wm-i.net/?p=165

Функция:



 
< < /span > ?php
 
$rand = mt_rand(10000,99999); //случайное число
$img = "fone.jpg"; //фон (jpg файл) 90*68
$pic = imageCreateFromjpeg($img); //создаем картинку
$size = 24; //размер шрифта
$angle = rand (-10, 10); //угол поворота
$x = rand(-2,15); //смещение по оризонтали
$y = rand(35,60); //смещение по вертикали
$color = rand(1000,9999999); //случайный цвет
$font = 'times'; //шрифт
ImageTTFtext($pic, $size, $angle , $x, $y, $color, $font, $rand);
/*
imagettftext(image, size, angle, x, y, col, fontfile, text)
Итак, size — размер шрифта текста в пикселях,
angle — угол наклона текста в градусах (0 — нормальный горизонтальный вывод слева направо, 90, к примеру — снизу вверх, и так далее по кругу против часовой стрелки).
Параметр fontfile — путь к самому .ttf файлу шрифта и, наконец,
text — строка, представляющая выводимый текст,
функция предусматривает возможность переноса строк,
тоесть удобна для вывода именно текста.
Для переноса нужно вставить последовательность символов \n\r (перенос строки и возврат каретки).
*/

//выдача
header('Content-type:image/jpeg');
imagejpeg($pic);
imagedestroy($pic);
? >


okbm("","")

http://wm-i.net

 

Перекодировка из utf-8 в windows-1251


http://wm-i.net
http://wm-i.net/?p=162
< < /span > ?php
 
function utf8win1251($s){
$out = $c1 = "";
$byte2=false;
for ($c=0;$c< < /span >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;
}
//пример
echo utf8win1251('текст в utf-8');
? >


okbm("","")

http://wm-i.net

 

Перекодировка из windows-1251 в utf-8


http://wm-i.net
http://wm-i.net/?p=160

Функция:



< < /span > ?php
function win2utf($str)
{
static $table = array(
"\xA8" = > "\xD0\x81",
"\xB8" = > "\xD1\x91",
"\xA1" = > "\xD0\x8E",
"\xA2" = > "\xD1\x9E",
"\xAA" = > "\xD0\x84",
"\xAF" = > "\xD0\x87",
"\xB2" = > "\xD0\x86",
"\xB3" = > "\xD1\x96",
"\xBA" = > "\xD1\x94",
"\xBF" = > "\xD1\x97",
"\x8C" = > "\xD3\x90",
"\x8D" = > "\xD3\x96",
"\x8E" = > "\xD2\xAA",
"\x8F" = > "\xD3\xB2",
"\x9C" = > "\xD3\x91",
"\x9D" = > "\xD3\x97",
"\x9E" = > "\xD2\xAB",
"\x9F" = > "\xD3\xB3",
);
return preg_replace('#[\x80-\xFF]#se',
' "$0" >= "\xF0" ? "\xD1".chr(ord("$0")-0x70) :
("$0" >= "\xC0" ? "\xD0".chr(ord("$0")-0x30) :
(isset($table["$0"]) ? $table["$0"] : "")
)'
,
$str
);
}
//пример
echo win2utf('тест в windows-1251');
? >


okbm("","")

http://wm-i.net

 

Надпись на картинке


http://wm-i.net
http://wm-i.net/?p=157

Функция:



< < /span > ?php
 
//заголовок
header ("Content-type: image/png");
 
//оригинальное изображение (в данном случаи 128*97
$img = imagecreatefromjpeg("example.jpg");
 
 
 
 
//верхняя левая точка прямоугольника (все изображение в примере 128*97)
$x1=50;
$y1=5;
 
//нижняя правая точка прямоугольника (все изображение в примере 128*97)
$x2=125;
$y2=20;
 
//степень прозрачности прямоугольника
$DARKNESS=100;
 
//цвет прямоугольника
$dark = imagecolorallocatealpha($img, 0, 0, 0, $DARKNESS);
 
//рисуем прямоугольник
imagefilledrectangle($img,$x1,$y1,$x2,$y2,$dark);
 
//цвет надписи (белый)
$white=imagecolorallocate($img,255,255,255);
 
//координаты надписи (где-то в прямоугольнике ;) )
$x=55;
$y=10;
 
//рисуем надпись
imagestring($img,1,$x,$y,"WM-i.NeT",$white);
 
//выводим и освобождаем память
imagepng($img);
imagedestroy($img);
 
? >


okbm("","")

http://wm-i.net

1 |2 |3 |4