20 мар 2015
Полезные php сниппеты 3
SibWeb Категория: Другие CMS » Разное
У нас вы можете скачать бесплатно Полезные php сниппеты 3

Данный материал предоставлен сайтом Skripter.info исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Полезные php сниппеты 3


1. Проверяем, установлен ли Apache и модуль "mod_rewrite":

/** проверяем установлен ли Apache и модуль mod_rewrite **/
if(function_exists('apache_get_modules')) {
  /** получаем список модулей в массиве **/
  $get_module=apache_get_modules();
  foreach($get_module as $value) if(trim($value)=='mod_rewrite') $mod_rewrite=true;
  if(!trim($mod_rewrite)==null) {
    /** Сюда можете писать свой код который будет работать если Apache и модуль mod_rewrite успешно работают. **/
  } else die('<pre>Module "mod_rewrite" for Apache is not installed, go to <a href="https://www.apache.org/">installation</a>.</pre>');
} else die('<pre>Apache https is not installed, go to <a href="https://www.apache.org/">installation</a>.</pre>');


2. Получение доменного имени.

/** определяем протокол... **/
$protocol=filter_input(INPUT_SERVER,'httpsS',FILTER_SANITIZE_URL) ? 'httpss' : 'https';
/** создаем массив **/
$system=array(
  /**
      доменное имя, без протокола и вырезается WWW,
      если вам нужна работа из под WWW то замените на:
      filter_input(INPUT_SERVER,'SERVER_NAME',FILTER_SANITIZE_URL)
  **/
  'domain'=>str_replace('www.','',filter_input(INPUT_SERVER,'SERVER_NAME',FILTER_SANITIZE_URL)),
  /**
      доменное имя, с протоколом для примера выведет:
      https://mysite.ru/
  **/
  'protocol_domain'=>$protocol.'://'.str_replace('www.','',filter_input(INPUT_SERVER,'SERVER_NAME',FILTER_SANITIZE_URL)).'/'
);
/** Вывод результата **/
echo "Домен без протокола: ".$system['domain'].'<br>Домен с протоколом: '.$system['protocol_domain'];


3. Как лучше подключится к MySQL?

/** Создаем функцию **/
if(!function_exists('db_error')) {
  function db_error($error, $error_num, $query = '') {
    if($query) $query=preg_replace("/([0-9a-f]){32}/","********************************",$query);
    $query=htmlspecialchars($query, ENT_QUOTES, 'ISO-8859-1');
    $error=htmlspecialchars($error, ENT_QUOTES, 'ISO-8859-1');
    $trace=debug_backtrace();
    $level=0;
    if($trace[1]['function']=="query") $level=1;
    if($trace[2]['function']=="super_query" ) $level=2;
    $trace[$level]['file']=str_replace(DIR_HOME,"",$trace[$level]['file']);
    return("<div><b>MySQL error</b> in file: <b>{$trace[$level]['file']}</b> at line <b>{$trace[$level]['line']}</b></div>
      <div>Error Number: <b>{$error_num}</b></div>
      <div>The Error returned was: <b>{$error}</b></div>
      <div><b>SQL query:</b><br />{$query}</div>");
  }
}
/** Создаем массив с данными БД **/
$mysql=array(
  'host'=>'localhost', //сервер бд
  'user'=>'root', //пользователь бд
  'pass'=>'', //пароль пользователя бд
  'name'=>'mysql', //имя базы пользователя бд
);
/** Создаем массив для подключение к БД **/
$db=new mysqli(
  $mysql['host'],
  $mysql['user'],
  $mysql['pass'],
  $mysql['name']
);
/** Проверяем на ошибка для БД (для этого и нужна была функция выше) **/
if($db->connect_error) {
  echo(db_error($db->connect_error, $db->connect_errno));
  die();
}
if(!$db->select_db($mysql['name']))
{
  echo(db_error($db->connect_error, $db->connect_errno));
  die();
}
/** Выставляем правильную кодировку для БД **/
$db->query("SET NAMES 'utf8'");
$db->query("SET CHARACTER SET 'utf8'");
$db->query("SET SESSION collation_connection = 'utf8_general_ci'");


Спасибо за внимание!
Код и Материал был основан SibWeb Group :)









Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Cj_Kill | 22 апреля 2015 00:50
  • Группа: Посетители |
  • Комментарий: 1 (ссылка)

Что это за бред для подключения с MySQL? Кто вообще это придумал?

SibWeb | 22 апреля 2015 06:04
  • Группа: Посетители |
  • Комментарий: 2 (ссылка)

Cj_Kill,
что не понятно вам?

Cj_Kill | 22 апреля 2015 17:50
  • Группа: Посетители |
  • Комментарий: 3 (ссылка)

SibWeb,
Никто так, из уважающих себя кодеров, не будет подключаться к БД. Ересь, а не код.

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.