Все о web разработке на xdan.ru
  • Регистрация
  • Войти
   

Menu
  • Главнаявсе о web разработке
  • БлогАвторский блог
  • CopySiteСервис
      • Новости сервиса CopySite
  • Категориивсе материалы
      • JavaScript
          • jQuery
              • Обзор плагинов
      • PHP
          • Yii
          • Laravel
      • Новости Web технологий
      • Soft
          • Opera
      • Парсеры
      • CMS
          • Joomla
              • Документация для разработчиков Joomla
          • Danneo
          • UMI
          • Drupal
      • Социальные сети
      • Из жизни
      • Политика
      • Мои разработки
          • Конструктор Yandex карт
      • Новости сайта
      • SEO
      • Защита сайта
      • Администрирование WEB сервера
      • Монетизация сайта
      • web разработка
      • Железо
      • Хостинг
      • Игры
      • Про киномнение о кино
      • Нативное программирование
      • Видео
      • Joomlaвсе для joomla
          • Плагин CTRL+S быстрое сохранение материала в Joomla
              • Скачать плагин CTRL+S
          • Создаем собственную SEF систему для Joomla
          • Как написать Joomla плагин для xmap
          • Модуль Конструктор Яндекс Карт для Joomla
              • Скачать модуль Конструктор Янлекс Карт для Joomla
          • Компонент Яндекс Карты для Joomla
              • Документация компонента Яндекс Карты для Joomla
              • Демонстрация - лицевая часть
              • Демонстрация - администратор (demo,demo)
              • Уроки
          • Менеджер перенаправлений Joomla
  • Магазинкупить продукты сайта
  • Наши разработкиавторские разработки
      • HTML Map generator
      • liveadd
      • Конструктор Яндекс Карт
      • Онлайн синонимайзер текстов
      • Joomla Module Generator
      • Joomla плагин CTRL+S AutoSave
      • Лучший DateTimePicker
      • miniMySQLAdmin - легковесная альтернатива phpMyAdmin
      • Joomla модуль Конструктор Яндекс Карт
      • Скачать копию сайта
  • Конструктор Yandex картгенератор кода для Яндекс карт

Yii сниппеты

Информация о материале
Категория: Yii
Опубликовано: 17 июля 2014
Просмотров: 13150

Статьи

Отличная статья по настройке таблицы

ActiveRecords запросы в Yii2

Action по умолчанию в Yii контроллере

В самом коде контроллера добавляем поле

public $defaultAction = 'test';

Язык сообщений об ошибках в Yii

В файле config/main.php добавляем в массив

'language' => 'ru',

Почему gii возвращает 403

По умолчанию с gii обычно работают только на локальной машине. Когда вы разкомментировали эти строки

'gii'=>array(
  'class'=>'system.gii.GiiModule',
  'password'=>'12345',
  // If removed, Gii defaults to localhost only. Edit carefully to taste.
   'ipFilters' => array('127.0.0.1', '92.50.156.138'),   // EDIT TO TASTE
),

надо добавить в массив  

ipFilters

свой ip, узнать который можно к примеру тут 

Подробнее... 2 комментария

PHP Сниппеты

Информация о материале
Категория: PHP
Опубликовано: 18 июня 2014
Просмотров: 13572
  • php
  • snippets
  • reflectionfunction
  • getfilename

Получить реальный IP пользователя

function get_ip() {
    //Just get the headers if we can or else use the SERVER global
    if ( function_exists( 'apache_request_headers' ) ) {
        $headers = apache_request_headers();
    } else {
        $headers = $_SERVER;
    }
    //Get the forwarded IP if it exists
    if ( array_key_exists( 'X-Forwarded-For', $headers ) && filter_var( $headers['X-Forwarded-For'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 ) ) {
        $the_ip = $headers['X-Forwarded-For'];
    } elseif (array_key_exists('HTTP_X_FORWARDED_FOR', $headers ) && filter_var($headers['HTTP_X_FORWARDED_FOR'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
        $the_ip = $headers['HTTP_X_FORWARDED_FOR'];
    } else {
        $the_ip = filter_var( $_SERVER['REMOTE_ADDR'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 );
    }
    return $the_ip;
}

Отправить POST запрос на PHP

function postRequest($url, $post = 0){
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url ); // отправляем на
  curl_setopt($ch, CURLOPT_HEADER, 0); // пустые заголовки
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвратить то что вернул сервер
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // следовать за редиректами
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);// таймаут4
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'/cookie.txt'); // сохранять куки в файл
  curl_setopt($ch, CURLOPT_COOKIEFILE,  dirname(__FILE__).'/cookie.txt');
  curl_setopt($ch, CURLOPT_POST, $post!==0 ); // использовать данные в post
  if($post)
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
  $data = curl_exec($ch);
  curl_close($ch);
  return $data;
}

Пользоваться так

 

$data = postRequest('https://www.google.com/recaptcha/api/siteverify', array('secret'=>'','response'=>'', 'remoteip'=>''));

Как найти, где находится функция php

$reflFunc = new ReflectionFunction('function_name');
print $reflFunc->getFileName() . ':' . $reflFunc->getStartLine();

Как найти, где находится класс в php

идентично верхнему коду, можно найти и местоположение любого не встроенного класса в php

$ref = new ReflectionClass('Application');
print $ref->getFileName() . ':' . $ref->getStartLine();

Как получить все методы у объекта или класса в php

print_r(get_class_methods($obj));

Как удалить папку с файлами или почистить папку с файлами

1
2
3
4
5
6
7
8
9
10
function cleanDirectory($dir, $remove = false) {
  if ($objs = glob($dir."/*")) {
    foreach($objs as $obj) {
      is_dir($obj) ? cleanDirectory($obj, true) : unlink($obj);
    }
  }
  if ($remove) {
    rmdir($dir);
  }
}

пользуемся так

Если нужно просто отчистить директорию то запускаем без второго параметра, если после очистки нужно еще и удалить ее то вторым параметром подаем true

1
2
cleanDirectory('/home/www/files/images'); // очистка
cleanDirectory('/home/www/files/images', true); // удаление

Как отдать на загрузку какой-либо файл на сервере с помощью php

универсальный загрузчик выглядит так

function download ($file) {
  if (!empty($file) and file_exists($file) and is_file($file)) {
    if (ob_get_level()) {
      ob_end_clean();
    }
 
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename=' . basename($file));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
     
    if ($fd = fopen($file, 'rb')) {
      while (!feof($fd)) {
        print fread($fd, 1024);
      }
      fclose($fd);
    }
  } else {
    header('HTTP/1.0 404 Not Found');
    echo 'File not found';
  }
  exit();
}

Сгенерировать строку из случайных символов

Часто надо сгененрировать случайную строку для соли или еще для чего

function generateHash ($length = 8){
  $password = "";
  $possible = "2346789bcdfghjkmnpqrtvwxyzBCDFGHJKLMNPQRTVWXYZ";
  $maxlength = strlen($possible);
  if ($length > $maxlength) {
    $length = $maxlength;
  }
  $i = 0;
  while ($i < $length) {
    $char = substr($possible, mt_rand(0, $maxlength-1), 1);
    if (!strstr($password, $char)) {
      $password .= $char;
      $i++;
    }
  }
  return $password;
}

 

универсальный загрузчик выглядит так

Узнать, пришел ли запрос через AJAX

Этот способ работает только с jQuery. Она при AJAX запросе добавляет заголовок HTTP_X_REQUESTED_WITH=XMLHttpRequest в запрос

Поэтому, можно написать на сервере функцию проверки

function isAjax(){
  return isset($_SERVER['HTTP_X_REQUESTED_WITH']) and $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest';
}

 

 

2 комментария

Joomla сниппеты

Информация о материале
Категория: Joomla
Опубликовано: 18 июня 2014
Просмотров: 13450
  • joomla
  • params
  • get params module

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

Подробнее... 2 комментария

Как написать Joomla плагин для xmap

Информация о материале
Категория: Joomla
Опубликовано: 28 мая 2014
Просмотров: 12423
  • joomla
  • plugin
  • xmap
  • карта сайта
  • sitemap
  • joomla plugin

Пишем плагин для joomla  xmapРанее на страницах блока была серия статей о написании своего компонента для популярной среди непрофессиональных разработчиков системы Joomla. Времени прошло достаточно, и вот ваш компонент уже оброс данными. Данных много, ведь помимо прочего мы еще подключили к компонентe парсер, для быстрого наполнения сайта. Однако поисковики очень не охотно индексируют ваш контент.

Информации в сети так много и обновляется она так часто, что поисковые системы просто не успевают проверять, обновилась ли ваша главная страница, или того хуже вложенная. В результате информация на сайте есть, но поисковик про нее узнает в последнюю очередь.

Для таких случаев придумали sitemap. Это такая xml в которой описаны все ссылки сайта, которые необходимо проиндексировать, и у каждой есть поле, в котором написано, когда контент по этой ссылке последний раз обновлялся.

Поисковику достаточно раз в день проверять этот файл индексировать лишь измененные страницы. 

Среди joomla компонентов, которые создают sitemap, одним из лидеров дефакто является xmap. Сам xmap выводит в sitemap только ссылки размещенные в меню. Это не совсем удобно, когда мы хотим, чтобы в sitemap появились ссылки из нашего компонента. На помощь приходят плагины xmap. У этого компонента в загашнике есть несколько плагинов для популярных компонентов (k2,weblinks и т.д.) есть плагин и для стандартных материалов joomla.

Подробнее... Добавить комментарий

miniMySQLAdmin - легковесная альтернатива phpMyAdmin

Информация о материале
Категория: Мои проекты
Опубликовано: 21 мая 2014
Просмотров: 13503
  • mysql
  • надстройка над mysql
  • sql
  • mini phpmyadmin
  • admin
  • mini admin
  • упрощенная phpmyadmin

miniMySQLAdmin 

mini phpMyAdmin​

miniMySQLAdmin это такой mini аналог phpMyAdmin. Функционал урезан, и некоторые операции без знания SQL не сделать. 

​Вы можете
скачать исходную версию
и дополнить ее, либо скачать лишь
один файл
и пользоваться только им

Также вы можете пощупать программу на
демо данных

Разработчики сайтов ежедневно работают с phpMyAdmin. Эта программа единолично занимает нишу администрирования MySQL баз данных. Есть множество десктопных аналогов, но когда доступ надо предоставить через web, тут у phpMyAdmin конкуренции нет.

Единственный существенный минус phpMyAdmin - размер. Мультиязычность, поддержка всех возможных кодировок, проработанность всех необходимых операций, практически без знания SQL - все это требует места.

Когда нужно быстро исправить пару строк в таблице, а заказчик дал только ftp доступ, заливать все это на сервер в распакованном виде проблематично.

Для разовых правок базы данных мной была разработана miniMySQLAdmin. Все, что нужно, в ней содержится в одном файле, размером 300кб.

Подробнее... Добавить комментарий
  1. Как в php конвертировать BB коды в HTML
  2. Рисуем JavaScript с помощью Raphaël
  3. Как написать универсальный парсер сайтов за 1 час
  4. Про строки и массивы в JavaScript

Страница 2 из 11

  • В начало
  • Назад
  • 1
  • 2
  • 3
  • 4
  • ...
  • 6
  • 7
  • 8
  • 9
  • 10
  • Вперед
  • В конец

Кто сказал, что программисту не нужен психолог?

Почитать обо мне здесь:
Сайт: adel-chupurnova.ru
Telegram: https://t.me/proshloedlyanastoyashego
Instagram: https://instagram.com/adel_chupurnova

Полезные статьи

  • Joomla сниппеты
  • Joomla ZOO сниппеты
  • PHP сниппеты
  • Yii сниппеты
  • SSH сниппеты и защита сайта
  • CSS сниппеты
  • JavaScript сниппеты

Популярные статьи

  • Учимся парсить сайты с библиотекой PHP Simple HTML DOM Parser 2011-03-18 12:33:20

  • Примеры работы с ajax на jQuery 2011-03-01 21:04:00

  • Как написать универсальный парсер сайтов за 1 час 2014-04-25 09:36:58

  • Работа с файлами в JavaScript, Часть 1: Основы 2012-06-25 22:02:14

  • Работа с файлами в JavaScript, Часть 2: FileReader 2012-06-29 00:16:21

Категории

  • JavaScript
  • PHP
  • Новости Web технологий
  • Soft
  • Парсеры
  • CMS
  • Социальные сети
  • Из жизни
  • Политика
  • Мои разработки
  • Новости сайта
  • SEO
  • Защита сайта
  • Администрирование WEB сервера
  • Монетизация сайта
  • web разработка
  • Железо
  • Хостинг
  • Игры
  • Про кино
  • Нативное программирование
  • Видео
  • Joomla
Как скопировать любой сайт?

© 2025 Все о web разработке на xdan.ru

  • О сайте
  • Об авторе
Go Top