Приветствуем Вас, Гость | RSS |

Категории раздела

PureBasic [9]
Кроссплатформенный компилятор и IDE для быстрой разработки
wxWidgets [3]
wxWidgets is a C++ library that lets developers create applications for Windows, OS X, Linux and UNIX on 32-bit and 64-bit architectures as well as several mobile platforms including Windows Mobile, iPhone SDK and embedded GTK+.
HGE [2]
Игровой движок HGE (Haaf's Game Engine)
Windows [2]
Программистам под ОС MS Windows
PHP [14]
Язык такой есть)
jQuery [0]
Библиотека JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML
VST [6]
Steinberg's Virtual Studio Technology (VST)
RegExp [0]
Регулярные выражения
C/C++ [2]

Форма входа

Логин:
Пароль:

Социалки



P.O.P ВКонтакте


Поиск


Облако тегов





Пожертвовать

 WMR

USD Z775078396284
RUB R524843904548

Рекомендуем


Точки присутствия



Как получить расширение файла?

Можно посредством pathinfo(), а можно и так:
function getExtention($file)
 {
 return end(explode(".", $file));
 }


Читать | PHP | 12 | 2012-02-02 | 0.0/0 | 0 | Показать


Дата как в социальных сетях

Сейчас на множестве сайтов дата не указывается в виде, собственно, даты. Вместо нее указывается в текстовом виде время, прошедшее со времени события. Например: "2 дня назад". Преобразовать дату в подобный вид очень легко, используюя эти две функции:
 function get_word_form($n, $o1, $o2, $o5)
 {
 //Получить нормальное окончание для слова $word и числа объектов $n.
 //Параметры:
 //$o1 - окончание для числа *1, 
 //$o2 - окончание для *2-*4, 
 //$o5 - окончание для чисел *5-*9,*0,*11-*19
 $n = abs($n);
 if($n % 100 > 10 and $n % 100 < 20 or $n % 10 == 0 or $n % 10 > 4)
 $word = $o5;
 elseif($n % 10 > 1 and $n % 10 < 5)
 $word = $o2;
 else
 $word = $o1;
 return $word;
 }

 static function getTextTimeStamp($session_time)
 {
 if(strpos($session_time, " ") !== false)
 {
 $session_time = strtotime($session_time);
 }

 $time_difference = time() - $session_time;
 $seconds = $time_difference;
 $minutes = round($time_difference / 60);
 $hours = round($time_difference / 3600);
 $days = round($time_difference / 86400);
 $weeks = round($time_difference / 604800);
 $months = round($time_difference / 2419200);
 $years = round($time_difference / 29030400);

 if($seconds == 0)
 return "только что";

 if($seconds <= 60)
 {
 return "$seconds ".get_word_form($seconds, "секунду", "секунды", "секунд")." назад";
 }
 elseif($minutes <= 60)
 {
 return "$minutes ".get_word_form($minutes, "минуту", "минуты", "минут")." назад";
 }
 elseif($hours <= 24)
 {
 return "$hours ".get_word_form($hours, "час", "часа", "часов")." назад";
 }
 elseif($days <= 7)
 {
 return "$days ".get_word_form($days, "день", "дня", "дней")." назад";
 }
 elseif($weeks <= 4)
 {
 return "$weeks ".get_word_form($weeks, "неделю", "недели", "недель")." назад";
 }
 elseif($months <= 12)
 {
 return "$months ".get_word_form($months, "месяц", "месяца", "месяцев")." назад";
 }
 else
 {
 return "$years ".get_word_form($years, "год", "года", "лет")." назад";
 }
 }


Читать | PHP | 25 | 2012-02-02 | 0.0/0 | 0 | Показать


Уникальный массив

Еще один способ очистки "ветвистых" массивов от повторяющихся "веток". Элементы первого уровня сериализуются, повторы очищаются и элементы разворачиваются обратно.
 /**
 * Kicks non unique array items by serializing array items and compare
 *
 * @param array $myArray
 * @return array
 */
 function arrayUnique($myArray)
 {
 if(!is_array($myArray))
 return $myArray;

 foreach ($myArray as &$myvalue)
 {
 $myvalue = serialize($myvalue);
 }

 $myArray = array_unique($myArray);

 foreach ($myArray as &$myvalue)
 {
 $myvalue = unserialize($myvalue);
 }

 return $myArray;
 }


Читать | PHP | 18 | 2012-02-02 | 0.0/0 | 0 | Показать


AJAX или не AJAX? Вот в чем вопрос...

Для того, чтобы определить, каким образом обратились к скрипту, через ajax или нет, можно воспользоваться этой функцией:
function isAjaxRequest()
 {
 return (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest');
 }


Читать | PHP | 18 | 2012-02-02 | 0.0/0 | 0 | Показать


Допустимо ли расширение?

Проверка, имеет ли файл разрешенное расширение.
 /**
 * проверка - имеет ли файл допустимое разрешение, второй параметр - массив 
 * вида $allowedExtensions = array("avi" , "mp4" , ...);
 * 
 * @param mixed $fileName
 * @param mixed $allowedExtensions
 * @return bool
 */
 function isAllowedExtension(
 $fileName, $allowedExtensions)
 {

 $exploded = explode(".", $fileName);
 return in_array(mb_strtolower(end($exploded)), $allowedExtensions);
 }


Читать | PHP | 17 | 2012-02-02 | 0.0/0 | 0 | Показать


Как рекурсивно удалить все файлы и папки в директории?

Для этого пройдемся по всем вложенным папкам и файлам и удалим их:
 /**
 * рекурсивное удаление директории
 * 
 * @param mixed $dirname
 * @return bool
 */
 function rmdirr($dirname)
 {
 if(!file_exists($dirname))
 return false; // Sanity check 
 
 if(is_file($dirname) || is_link($dirname))
 return unlink($dirname); // Simple delete for a file
 
 // Loop through the folder
 $dir = dir($dirname);
 while(false !== $entry = $dir->read())
 {
 if($entry == '.' || $entry == '..')
 continue; // Skip pointers 
 rmdirr($dirname.DIRECTORY_SEPARATOR.$entry); // Recurse
 }
 
 $dir->close(); // Clean up
 return rmdir($dirname);
 }


Читать | PHP | 12 | 2012-02-02 | 0.0/0 | 0 | Показать


Как узнать размер директории?

Узнать размер директории на PHP можно посредством рекурсивного обхода всех вложенных папок:
function dirsize($dirname)
 {
 if(!is_dir($dirname) || !is_readable($dirname))
 return false;

 $dirname_stack[] = $dirname;
 $size = 0;

 do
 {
 $dirname = array_shift($dirname_stack);
 $handle = opendir($dirname);
 while(false !== ($file = readdir($handle)))
 {
 if($file != '.' && $file != '..' && is_readable($dirname.DIRECTORY_SEPARATOR.$file))
 {
 if(is_dir($dirname.DIRECTORY_SEPARATOR.$file))
 {
 $dirname_stack[] = $dirname.DIRECTORY_SEPARATOR.$file;
 }
 $size += filesize($dirname.DIRECTORY_SEPARATOR.$file);
 }
 }
 closedir($handle);
 }
 while(count($dirname_stack) > 0);

 return $size;
 }


Читать | PHP | 12 | 2012-02-02 | 0.0/0 | 0 | Показать


Вычисляем возраст человека по дате рождения

Вычисляем возраст человека по дате рождения (PHP) ...

Читать | PHP | 57 | 2011-12-13 | 0.0/0 | 0 | Показать


Пагинатор на Smarty

Что такое пагинатор (paginator или пейджер), я думаю, объяснять не надо. Для тех, кто использует шаблонизатор Smarty предлагается вот такое решение. Создаем плагин function.paginator.php с таким содержимым: ...

Читать | PHP | 53 | 2011-12-09 | 0.0/0 | 0 | Показать


Массовая (пакетная) рекурсивная смена кодировки всех файлов из одной директории с utf8 на cp1251

Никто не мешает и наоборот

Читать | PHP | 180 | 2011-11-11 | 0.0/0 | 0 | Показать


1 2 3 4 »