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 :)