GIG.RU Web Hosting
E-mail:
GIG.RU Web Hosting
Профессиональный хостинг: PHP, Perl, MySQL
Регистрация доменов RU, COM, NET, ORG
Высокое качество по разумной цене

Поддержка / Примеры для разработчиков



PHP

Подключение к MySQL
Загрузка файлов (web-upload)
Отправка письма

Perl

Подключение к MySQL

.htaccess

Защита от прямых ссылок (hot-links, anti-leech)
Редирект на основной домен без 'www'
Редирект на основной домен с 'www'




PHP


Подключение к MySQL

<?
$mysql_server
="localhost";
$mysql_login="username";   // Имя пользователя БД (логин)
$mysql_pass="password";    // Пароль
$mysql_db="database";      // Название БД
                           // На нашем хостинге название БД совпадает именем пользователя БД
$dbh=mysqli_connect($mysql_server,$mysql_user,$mysql_password,$mysql_db);
if (
mysqli_connect_errno()) {
    die(
"Невозможно подключиться к базе данных! ".mysqli_connect_error($dbh));
}
$q=mysqli_query($dbh,"SET CHARACTER SET UTF8");

// В последней строке мы указали кодировку, в которой БД будет отдавать нам информацию (UTF8).
// Эта кодировка должна совпадать с кодировкой, в которой работает VirtualHost.
// Так же, в любом случае, не забывайте завершать соединение с MySQL в конце каждого скрипта.

mysqli_close($dbh);
?>


Загрузка файлов (web-upload)

<?
// Напоминаем, что на нашем хостинге не нужно устанавливать какие-либо специфические права
// на директории для закачивания файлов, а так же на сами закачиваемые файлы.
// Для переноса загруженных файлов необходимо использовать функцию move_uploaded_file().

$upload_dir=$_SERVER['DOCUMENT_ROOT']."/upload/"// Директория, в которую закачивать файлы

if ($_POST) { // Если форма отправлена
    
if (@is_uploaded_file($_FILES['my_file']['tmp_name'])) {
        if (!
preg_match('/\\.(exe|com|php)$/i'$_FILES['my_file']['name'], $reg)) {
            if (@
move_uploaded_file($_FILES['my_file']['tmp_name'], $upload_dir.$_FILES['my_file']['name'])) {
                echo 
"Файл '".$_FILES['my_file']['name']."' успешно загружен!";
            } else {
                echo 
"Возникла ошибка при копировани файла!";
            }
        } else {
            echo 
"Файлы с расширением '$reg[1]' запрещены для загрузки!";
        }
    } else {
        echo 
"Файл не загружен!";
    }
} else { 
// Если форма не отправлена, выводим её
    
?>
    <html>
        <body>
            <form method="post" enctype="multipart/form-data">
                Файл: <input type="file" name="my_file"><br>
                <input type="hidden" name="MAX_FILE_SIZE" vaue="10485760">
                <input type="submit" value="Загрузить">
            </form>
        </body>
    </html>
    <?
}
?>


Отправка письма

<?
$src_charset
=mb_internal_encoding();          // Кодировка, в которой работает скрипт
$dst_charset="utf-8";                         // Кодировка, в которой отправлять сообщения
$subject="Тема письма";
$from="Имя Отправителя <sender@example.com>"// Отправитель
$to="Имя Получателя <recipient@example.com>"// Получатель
$return_path="sender@example.com";            // Аккаунт отправителя (адрес для возврата сообщений)

$body="Здравствуйте!\n\nПроверка связи!"// Текст сообщения.
                                          // Строки должны разделяться символами \n
// ---------------------------------------------------------------------
if ($src_charset!=$dst_charset) {
    
$subject iconv($src_charset,$dst_charset,$subject);
    
$from    iconv($src_charset,$dst_charset,$from);
    
$to      iconv($src_charset,$dst_charset,$to);
    
$body    iconv($src_charset,$dst_charset,$body);
}
$body=chunk_split(base64_encode($body),76,"\n");
$subject mb_encode_mimeheader($subject,$dst_charset);
if (
preg_match('/(.*?)(\s*)<([^>]+)>$/',$from,$arr)) {
    
$from=mb_encode_mimeheader($arr[1],$dst_charset).$arr[2]."<$arr[3]>";
}
if (
preg_match('/(.*?)(\s*)<([^>]+)>$/',$to,$arr)) {
    
$to=mb_encode_mimeheader($arr[1],$dst_charset).$arr[2]."<$arr[3]>";
}
$headers "MIME-Version: 1.0\r\nContent-type: text/plain; charset=$dst_charset\r\nContent-Transfer-Encoding: base64\r\nFrom: $from";
mail($to,$subject,$body,$headers,"-f$return_path");
?>



Perl


Подключение к MySQL

#!/usr/local/bin/perl

use DBI;

$mysql_server="localhost";
$mysql_login="username";   # Имя пользователя БД (логин)
$mysql_pass="password";    # Пароль
$mysql_db="database";      # Название БД
                           # На нашем хостинге название БД совпадает именем пользователя БД
my $dbh=DBI->connect("DBI:mysql:$mysql_db:$mysql_server:3306",$mysql_login,$mysql_pass))
        or die "Невозможно подключиться к базе данных! ".DBI->errstr;

# Не забываем отключаться
$dbh->disconnect;



.htaccess


Защита от прямых ссылок (hot-links, anti-leech)

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?example\.com/
RewriteCond %{HTTP_USER_AGENT} !Googlebot
RewriteCond %{HTTP_USER_AGENT} !YandexImages
RewriteRule \.(gif|png|jpg|jpeg)$ - [F]

Редирект на основной домен без 'www'

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*) http://example.com/$1 [R=permanent,L,QSA]

Редирект на основной домен с 'www'

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(.*) http://www.example.com/$1 [R=permanent,L,QSA]