PHP (Статей: 62)

Для проекта нужно было разработать модуль авторизации с vkontakte.ru. После курения мануалов получилось очень даже неплохо. И так как увидел в блоге отминусованую статью (сабж), то решил написать самому.

Помолясь приступим smile

Шаг 1.
Создание приложения на сайте vk.com с последующей настройкой. Она несложная, нужно всего лишь прописать адрес сайта и базовый домен. Там же получаем защитный ключ и id приложения, которые будем использовать дальше.

Шаг 2.
На странице, на которой вы разместили кнопку авторизации(или ссылку, как в нашем примере), делаем так, чтобы при нажатии на нее нас перекинуло по адресу
http: //api.vk.com/oauth/authorize?client_id=ID&redirect_uri=REDIRECT&display=MODE
. Где ID - айди нашего приложения, REDIRECT... Автор: (30.05.2012 / 02:35)
Просмотры: 3463
Комментарии (9) »
Статью писал для своего сайта, но по некоторым причинам решил все свои статьи перезалить сюда (что бы не утерять)!

Чаще всего нам приходится хранить настройки в базе данных в таком виде:
+-------------------------+
| ключ  |  значение       |
|-------------------------|
| home  |  http://7je.ru  |
+-------------------------+
В итоге у нас выходит как минимум 30 значений!

Далее мы заносим эти значения в скрипте в массив!
Самый обоснованный вариант, это выглядет так:
<?php
$qury = mysql_query("SELECT `key`, `value` FROM `setting`;");

while ($row = mysql_fetch_array($qury, MYSQL_ASSOC)) {
    $_set[$row['key']] = $row['value'];
} 
?>
проверим это на оперативность при 10,000 записей!
Результат: 0.0095,... Автор: (16.11.2011 / 20:21)
Просмотры: 1816
Комментарии (11) »
Статью писал для своего сайта, но по некоторым причинам решил все свои статьи перезалить сюда (что бы не утерять)!

Думаю все видели во многих социальных сетях такую штуку как "События у друзей".
Я хотел бы показать простейшую реализацию данной задачи...

Для этого нам нужно создать три таблицы:
--
-- Список событий
--

CREATE TABLE IF NOT EXISTS `events` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL COMMENT 'Пользователь, чье событие.',
  `text` text NOT NULL COMMENT 'Описание события.',
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`),
  FULLTEXT KEY `text` (`text`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=0;

--
-- Список друзей
--...
Автор: (16.11.2011 / 20:17)
Просмотры: 1446
Комментарии (4) »
Статью писал для своего сайта, но по некоторым причинам решил все свои статьи перезалить сюда! (что бы не утерять)

В следствии новости от разработчиков php, о прекращении поддержки расширения MySQL в PHP, в массах начинающих разработчиков (пишущих свои творения на языке php) началась паника.
Для паники пока что нет поводов, полностью расширение планируют убрать в шестой ветке php, которая выйдет еще не скоро! а пока что: "По*** пляшем"! так что есть время хорошенько изучить PDO или MySQLi. Лично я советую PDO.

И так! Для начала хотелось бы указать какие методы нам понадобятся для работы с PDO:

Основной класс PDO:
PDO... Автор: (16.11.2011 / 20:16)
Просмотры: 3625
Комментарии (7) »
-3
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Автор: (03.11.2011 / 19:28)
Просмотры: 922
Комментарии (0) »
Вот недавно столкнулся с такой проблемой.
У хостера выключена функция sеt_timе_limit(); и ехес();
а мне неохота лазить на хост и запускать крон.
Зашол в гугл искал искал и вот нарыл замечательный код.
<?php
ignore_user_abort(0);
@set_time_limit(0);
@ini_set('set_time_limit',0);
@ini_set('max_execution_time',0);
echo @ini_get('max_execution_time');
$in = 1*60*60; //спит 1 час
do
{
//здесь код на выполнение скрипта
sleep($in);//спит
}
while(true);
?>
и че я удивился, это то, что обошол этот запрет.
И функция у меня заработала.
Имейте ввиду,
когда вы создаете файл с этим кодом, то время работы скрипта не изменить и не остановить. smile . Автор: (27.09.2011 / 01:55)
Просмотры: 1795
Комментарии (11) »
Добрый день! Хочу показать как я делаю грабберы на curl

<?php
$url="http://yandex.ru/";//url сайта жертвы
error_reporting(0); //на всякий случай отключаю показ ошибок, но эту строк я вставляю в самую последнюю очередь

$curl = curl_init();//включаем процес
curl_setopt($curl, CURLOPT_URL, $url);//подключаемся к $url
curl_setopt($curl, CURLOPT_REFERER, "http://yandex.ru");//подставляем рефера
curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);//ставим тайм аут(необезательно)
$stranica = curl_exec($curl);//присваеваем к переменной
curl_close($curl);//заканчиваем процес
echo $stranica;
?>

Вот собственно и все. Можно еще (точнее нужно) вырезать заголовки, шапки, рекламы, надписи ненужные, поменять юрлы и т.д. Главное что страница у вас на сервере=) Автор: (24.08.2011 / 15:34)
Просмотры: 1991
Комментарии (15) »
Создаем фоновый вечно работающий php скрипт в Linux (Демон на php).

Демоны - процессы, работающие в фоновом режиме.
Для нужд проекта нужно было написать программу которая будет
в фоновом режиме каждых 30с. проверять нужные параметры и рассылать уведомления пользователям.
Функция проверки запущен ли уже процесс в linux:
<?
/**
* Проверка на повторный запущенный процес в LINUX
* В случае если процесс запущен второй раз функция возвращает TRUE иначе FALSE
* пример: is_running_process('test.php');
* Author: GANJAR
* ICQ: 993770 Site: http://mytu.ru
*
*
* @example is_running_process($process_name);
*
* @param string $process
* @return bool
*/
function is_running_process($process){
    exec( 'ps...
Автор: (24.08.2011 / 01:36)
Просмотры: 4844
Комментарии (2) »
Статья не для гуру =)
Писать консольные скрипты приходится не часто, но всё-таки приходится. Не учить же для этого Shell (хотя знание его желательно), тем более, если надо что-то срочно написать и из языков вам известен только PHP. В этой статье я раскажу о написании консольных скриптов на PHP для Linux.
Итак, открываем терминал и создадим для начала какой-то тестовый файл:
$ touch test
Сделаем его исполняемым:
$ chmod +x test
Теперь возьмёмся за его редактирование:
$ nano test
и напишем туда следующее
#!/usr/bin/php
<?php
echo 'Привет, мудак))';
?>
дальше Ctrl+X и сохраняем файл. Первая строка обозначает путь к... Автор: (17.07.2011 / 00:40)
Просмотры: 3324
Комментарии (7) »
Вот код

<?php
$date = date('d.m.Y / H:i:s', time() + ($sdvigclock*3600));
//узнаем дату и время
$UR = getenv("REQUEST_URI");
//узнаем запрос страницы
$X = getenv("HTTP_X_OPERAMINI_PHONE_UA");
//узнаем модель
$RIP = getenv("REMOTE_ADDR");
//узнаем iр
$R = getenv("HTTP_X_FORWARDED_FOR");
// узнаем локальный iр
$U = getenv("HTTP_USER_AGENT");
//узнаем браузер
$H = getenv("HTTP_REFERER");
//узнаем откуда пришел

$f = fopen("../../data/ref.txt",'a');
//записываем в файл
flock($f,2);
fwrite($f,"<font color=\"green\">Пользователь:</font> $login<br /><font color=\"green\">Дата и время:</font><br/>$date<br /><font color=\"green\">Браузер и модель:</font><br/>$U($X)<br/><font color=\"green\">Адрес IP:</font><br />[$RIP]<br/><font color=\"green\">Адрес IP (Локальный):</font><br />[$R]<br/><font color=\"green\">Адрес URL(откуда):</font><br/><a href=\"$H\">$H</a><br/><font color=\"green\">Адрес URI(запрос):</font><br /><a href=\"$home$UR\">$UR</a>\n");
//записываем все содиржимое(логин не палучиться,надо самому писать.)
fclose($f);//закрываем
?>

открываем файл к примеру stаt.рhр
<?php
echo'Лог посещений';
include('../../data/ref.txt')';...
Автор: (11.07.2011 / 10:33)
Просмотры: 1303
Комментарии (12) »
Топ статей / Облако тегов / Поиск / Авторы