Пятница, 2024-03-29, 7:21 PM

Поиск
Меню
Категории раздела
PHP [40]
Cкриптовый язык программирования общего назначения
MySQL [1]
Cвободная система управления базами данных (СУБД)
jQuery [8]
Библиотека JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML
CSS [60]
Cредство описания, оформления внешнего вида веб-страниц
JavaScript [161]
Прототипно-ориентированный скриптовый язык программирования
Веб-дизайн [2]
Проектирование пользовательских веб-интерфейсов для сайтов или веб-приложений
RegExp [1]
Регулярные выражения
SEO [2]
Продвижение и раскрутка сайтов. Заработок в сети.
C/C++ [3]
Компилируемый статически типизированный язык программирования общего назначения
Windows [4]
Программистам под ОС MS Windows
HGE [2]
Игровой движок HGE (Haaf's Game Engine)
Игровой дизайн [8]
Психология дизайна игр
Разработка игр [2]
Общие моменты, относящиеся к геймдеву
wxWidgets [2]
Библиотека инструментов для разработки кроссплатформенных приложений
PureBasic [10]
Кроссплатформенный компилятор и IDE для быстрой разработки
VST [6]
Steinberg's Virtual Studio Technology (VST)
iOS [1]
Mобильная операционная система, разрабатываемая и выпускаемая американской компанией Apple
Пиксельная графика [9]
Pixel art и все, что с ним связано
libGDX [2]
Кроссплатформенный открытый движок на Java, позволяющий создавать 2D и 3D игры под различные платформы, среди которых: Android, HTML5, Windows, Linux, iOS.
Поддержи проект!
Рекомендуем


Блог разработчика

Главная » PHP
« 1 2 3 4 »
Цикл for в Smarty организовать очень просто. Например for($i=1;$i<10;$i++) будет выглядеть так:
{section name=foo loop=9}
 {$smarty.section.foo.iteration}
{/section}
Категория: PHP | Просмотров: 1190 | Добавил: pop | Дата: 2012-05-24

Простой способ постинга в Twitter из php-скрипта. Code by Richard Castera.

function tweetThis($strUsername = '', $strPassword = '', $strMessage = '') {
 if (function_exists('curl_init')) { 
 $twitterUsername = trim($strUsername);
 $twitterPassword = trim($strPassword);
 
 if(strlen($strMessage) > 140) {
 $strMessage = substr($strMessage, 0, 140);
 }
 
 $twitterStatus = htmlentities(trim(strip_tags($strMessage)));
 
 if (!empty($twitterUsername) && !empty($twitterPassword) && !empty($twitterStatus)) {
 $strTweetUrl = 'http://www.twitter.com/statuses/update.xml';
 
 $objCurlHandle = curl_init();
 curl_setopt($objCurlHandle, CURLOPT_URL, "$strTweetUrl");
 curl_setopt($objCurlHandle, CURLOPT_CONNECTTIMEOUT, 2);
 curl_setopt($objCurlHandle, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($objCurlHandle, CURLOPT_POST, 1);
 curl_setopt($objCurlHandle, CURLOPT_POSTFIELDS, "status=$twitterStatus");
 curl_setopt($objCurlHandle, CURLOPT_USERPWD, "$twitterUsername:$twitterPassword");
 
 $result = curl_exec($objCurlHandle);
 $arrResult = curl_getinfo($objCurlHandle);
 
 if ($arrResult['http_code'] == 200) {
 echo 'Your Tweet has been posted';
 }
 else {
 echo 'Could not post your Tweet to Twitter.';
 }
 
 curl_close($objCurlHandle);
 }
 else {
 echo('Missing required information to submit your Tweet.');
 }
 }
 else {
 echo('Curl Extension is not installed.');
 }
}

// Send a Tweet to your Twitter account.
 tweetThis('my_user_name', 'my_password', 'my_tweet_message');
Категория: PHP | Просмотров: 1091 | Добавил: pop | Дата: 2012-04-15

Генерирует пароль заданной длины, которая передается в качестве аргумента

function generatePassword($intNumOfChars) { 
 if (is_numeric($intNumOfChars) && ($intNumOfChars > 0)) {
 $strChars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_";
 
 for ($i = 0; $i < $intNumOfChars; $i ++) {
 $strPassword .= $strChars[rand(0, strlen($strChars)-1)];
 }
 }
 return $strPassword;
}
Категория: PHP | Просмотров: 992 | Добавил: pop | Дата: 2012-04-15

TinyURL предоставляет API для создания коротких ссылок "на лету"

function createTinyUrl($strURL) {
 $tinyurl = file_get_contents("http://tinyurl.com/api-create.php?url=".$strURL);
 return $tinyurl;
}

Пример использования:

echo(createTinyUrl('http://pointofpresence.ru'));
Категория: PHP | Просмотров: 1301 | Добавил: pop | Дата: 2012-04-15

В некоторых случаях вам может понадобиться узнать, какие классы загружены в текущей области видимости. Вы можете сделать это очень просто с функцией get_declared_classes(). Эта функция возвращает массив доступных в настоящее время классов.

Категория: PHP | Просмотров: 1360 | Добавил: pop | Дата: 2012-04-15

Класс stdClass не очень хорошо документирован, но я попытаюсь пролить свет на этот вопрос. stdClass является объектом по умолчанию, который не имеет предопределенных членов. Название stdClass используется внутри Zend и зарезервировано. Таким образом, это означает, что вы не можете определить класс с именем stdClass в PHP-коде.

Он может быть использован для создания экземпляров объектов, в которые вы можете установить собственные переменные-члены, например, для передачи объекта в другую функцию или метод, которые ожидают принять объект в качестве аргумента. Еще более вероятное использование класса — преобразование массива в объект, который берет каждое значение в массиве, и добавляет его в качестве члена с именем на основе ключа в массиве.

Вот пример, который преобразует массив в объект. Этот метод называется приведением типов.

<?php
 $person = array (
 'firstname' => 'Richard',
 'lastname' => 'Castera'
 );
 
 $p = (object) $person;
 echo $p->firstname; // Will print 'Richard'
?>

Пример ниже преобразует многомерный массив в объект. Это достигается с помощью рекурсии.

<?php
function toObject($array) {
 $obj = new stdClass();
 foreach ($array as $key => $val) {
 $obj->$key = is_array($val) ? toObject($val) : $val;
 }
 return $obj;
}
?>
Категория: PHP | Просмотров: 1238 | Добавил: pop | Дата: 2012-04-15

Можно посредством pathinfo(), а можно и так:
function getExtention($file)
 {
 return end(explode(".", $file));
 }
Категория: PHP | Просмотров: 1394 | Добавил: pop | Дата: 2012-02-02

Сейчас на множестве сайтов дата не указывается в виде, собственно, даты. Вместо нее указывается в текстовом виде время, прошедшее со времени события. Например: "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 | Просмотров: 1189 | Добавил: pop | Дата: 2012-02-02

Еще один способ очистки "ветвистых" массивов от повторяющихся "веток". Элементы первого уровня сериализуются, повторы очищаются и элементы разворачиваются обратно.
 /**
 * 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 | Просмотров: 1278 | Добавил: pop | Дата: 2012-02-02

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