Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #67, ИЮНЬ 2006 г.

хостинг для настоящих митьков

РОМАН HA5H ЛАВРЕНТЬЕВ

Спецвыпуск: Хакер, номер #067, стр. 067-060-1


(HA5H@MAIL.RU; WWW.OFFBIT.1GB.RU)

УСТРАИВАЕМ БЕСПЛАТНОЕ ФАЙЛОХРАНИЛИЩЕ ДЛЯ ПЛАТНОГО ХОСТИНГА

У НАС ЕСТЬ ПЛАТНЫЙ ХОСТИНГ, МЫ ПЛАТИМ ЗА НЕГО ПРИМЕРНО ПЯТЬ ДОЛЛАРОВ В МЕСЯЦ. КОНЕЧНО, МЕСТА, ВЫДЕЛЕННОГО СЕРВЕРУ, НЕ ТАК МНОГО, КАК ХОТЕЛОСЬ, А ХОЧЕТСЯ РАЗМЕСТИТЬ ТАМ ОЙ КАК МНОГО! ВЫХОД ЕСТЬ — NAROD.RU :)

[что за система?] Конечно, на narod.ru мы разместим весь нужный софт, так как там дают неограниченное пространство, а потом напишем хитроумную систему, которая будет лежать на платном хостинге. С помощью этой системы любой пользователь сможет скачивать выложенные файлы, а ссылки будут вести на платный хостинг, и они будут выглядеть так: http://site.ru/download/download.php?id=19.

Система будет состоять из четырех файлов:

1 Скрипт добавления софта (add.php).

2 Скрипт скачки (download.php).

3 Форма для добавления софта (form_add.php).

4 Скрипт, отображающий софт, добавленный нами (index.php).

[принцип работы] системы очень прост. С помощью скрипта мы добавляем в таблицу имя сервера, имя файла и его описание. Скрипт скачки просто-напросто выдирает из таблицы данные, соответствующие номеру id (он передается из скрипта методом GET), и по ним перенаправляет браузер на софт.

Система использует базу данных MySQL, так что приконнектимся к мускулу и выполним простой запрос (листинг 1).

CREATE TABLE `download` (

`uid` int(11) NOT NULL auto_increment,

`file` text NOT NULL,

`server` text NOT NULL,

`ops` longtext NOT NULL,

`click` int(11) NOT NULL default '0',

PRIMARY KEY (`uid`)

) TYPE=MyISAM;

Этим запросом мы создаем таблицу download.

Поля и их описания в этой таблице:

- uid — уникальный номер файла;

- file — имя файла;

- server — имя сервера;

- ops — описание файла;

- click — количество скачиваний файла.

[начинаем кодить.] В скрипте form_add.php разместится форма добавления нового софта, она будет передавать данные скрипту add.php. В качестве метода отправки данных в ней мы будем использовать GET. Сами данные — это имя сервера, имя файла и его описание, то есть в скрипте мы напишем следующие поля:

<input type=text size=30 name=filen> — сюда будем вводить имя файла;

<input type=text size=30 name=server> — сюда — имя сервера;

<input type=text size=80 name=ops> — сюда — описание самого файла.

Например, мы закачали файл linux.rar на сайт http://mysite.narod.ru. Отсюда следует, что в поле File name должно быть введено linux.rar, а в поле Server name — http://mysite.narod.ru.

Однако можно и не писать в конце имени сервера знак прямого слэша «/». Тогда придется добавлять его в скрипте, который помещает все данные в таблицу (add.php), то есть вместо этой строки ($put = "$server$file";) нужно написать $put = "$server/$file"; (описание скрипта смотри ниже). В файле add.php мы соединяемся с базой данных MySQL, потом проверяем все передаваемые параметры на пустые строки и, если все нормально, добавляем эти переменные в таблицу. Пишем так:

mysql_connect($host,$user,"$password"); — здесь $host — имя сервера MySQL; $user — имя пользователя базы данных; $password — пароль этого пользователя.

Все переменные объявляем в начале скрипта. Далее выбираем базу данных, в которой лежит созданная таблица download:

Содержание  Вперед на стр. 067-060-2