Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/78: Рейтинг темы: голосов - 78, средняя оценка - 4.68
Заблокирован

Файлообменник своими руками

20.02.2013, 14:35. Показов 16248. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Файлообменник своими руками
Разработка веб-приложения


Содержание:
  1. Предисловие
  2. Что должен поддерживать наш файлообменник
  3. Используемые ПО
  4. Шаг №1: подготовка и настройка средств для разработки
    • Установка и настройка XAMPP
    • Установка FileZilla
    • Установка Navicat Lite и создание соединения с БД MySQL
    • Установка и настройка NetBeans IDE (for PHP)
  5. Шаг №2: создание веб-приложения
  6. Шаг №3: размещение на хостинге
  7. Заключение


Предисловие
Когда-то был вопрос о создании файлообменника с поддержкой скачивания в 2-х режимов: Gold режим

(быстрое скачивание) и Free режим (медленное скачивание).
Я писал, что сделать это легче всего на паттерне MVC
Вот это тема: Один шаг до завершения
Давайте напишем подобный файлообменник Напишем самый простенький )))


Что должен поддерживать наш файлообменник
  • загрузка файлов
  • скачивание файлов в 2-х режимах: Gold и Free
  • удаление файлов с помощью спец. кода


Используемые ПО
  • NetBeans IDE (for PHP) - бесплатная и очень удобная среда разработки для PHP
  • Navicat Lite - бесплатная версия для удобной работы с БД
  • XAMPP - кроссплатформенный, Apache, MySQL (Server), PHP, Perl, к тому же и бесплатный
  • FileZilla - бесплатный FTP клиент, предназначенный для загрузки и скачивания файлов с ftp-серверов


Шаг №1: подготовка и настройка средств для разработки
  • Установка и настройка XAMPP
Официальный сайт XAMPP

В первую очередь скачиваем и устанавливаем XAMPP (при установке я никакие настройки не менял, т. е. оставил все по умолчанию).
Если вы используйте Denwer, то снесите его со своего компа и забудьте Я рекомендую всем юзать XAMPP и привыкать к нему

При завершении установки вам будет предложено запустить XAMPP Control Panel, снимаем галочку и закрываем инсталлятор. Если вы уже запустили XAMPP CP, то просто сверните его.
Далее заходим в папку htdocs, которая находится в директории xampp (у меня такой путь: C:\xampp\htdocs), и создаем там новую папку с именем WebApps. В этой папке будут располагаться все наши веб-приложения
Заходим в WebApps, создадим там папку test.ru, а в test.ru - www. И в этой же директории создаем файл index.php, открываем и пишем следующее:
PHP
1
2
<?php
    echo 'Тестинг:)))';
сохраняем и закрываем
Должно быть как-то так:



С помощью этого чудного файлика мы протестим настройки конфига Apache, но тестить будем позже, когда завершим настройку XAMPP
Теперь открываем XAMPP CP, напротив Apache нажимаем кнопку Config и выбираем Apache (httpd.conf).

В текстовом редакторе откроется файл httpd.conf. Идем в самый конец файла, отступаем 3 строки и на 4-й пишем NameVirtualHost *:80. Этим самым мы создали блок виртуальных хостов с портом 80;

после этой строки пойдут индивидуальные настройки каждого виртуального хоста.
Отступаем от предыдущей записи 1 строчку и на 2-й пишем следующее:
Code
1
2
3
4
5
6
7
8
<VirtualHost *:80>
    ServerName test.ru
    ServerAlias www.test.ru
    ServerAdmin mymail@ya.ru
    DocumentRoot "C:\xampp\htdocs\WebApps\test.ru\www"
    ErrorLog "C:\xampp\htdocs\WebApps\test.ru\www\Error.log"
    CustomLog "C:\xampp\htdocs\WebApps\test.ru\www\access.log" common
</VirtualHost>
Внимание! Пути к файлам и директориям могу не совпадать.

В итоге должно получиться следующее:



Отступы нужны для удобства

Теперь разберем что к чему
<VirtualHost *:80>...</VirtualHost> - создаем виртуальный хост с IP "*" и портом 80.
ServerName позволяет установить имя хоста.
ServerAlias - зеркало хоста, т.е. при обращении к www.test.ru все запросы перенаправляются на основной хост test.ru.
ServerAdmin - ваш адрес, который будет выводиться пользователю в случае возникающих проблем. Этот же адрес появится на некоторых страницах, которые сервер сгенерирует автоматически, например, на страницах с ошибками.
DocumentRoot - эта команда указывает серверу, где располагается корень вашего сервера.
ErrorLog - расположение файла, куда будут записываться сообщения об ошибках.
CustomLog - расположение и формат файла, в который пишется информация о скачанном (браузеры пользователй и указания, откуда пришел пользователь).

Давайте теперь настроим отладчик XDebug в PHP.ini и кодировку MySQL в my.ini.
1. Снова открываем XAMPP CP, напротив Apache нажимаем на кнопку Config и выбираем PHP (php.ini).

И перед нами в текстовом редакторе откроется файл php.ini; также идем в конец файла и идем в конец файла и увидим настройку XDebug.
Этот блок отредактируйте следующим образом:
Code
1
2
3
4
5
6
7
8
9
10
11
zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
;xdebug.profiler_append = 0
;xdebug.profiler_enable = 1
;xdebug.profiler_enable_trigger = 0
;xdebug.profiler_output_dir = "C:\xampp\tmp"
;xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.remote_port = 9000
;xdebug.trace_output_dir = "C:\xampp\tmp"


Значение параметра zend_extension может у вас отличаться (разные пути).
Думаю, разъяснений здесь не нужно...

Сохраняем и закрываем.

Далее, напротив MySQL нажимаем на кнопку Config и выбираем my.ini.

Когда откроется в текстовом редакторе файл my.ini, найдите строчку ## UTF 8 Settings.
Здесь мы настроим кодировку... Я разрабатываю под cp1251... Но в этой статье будем юзать utf8.
Отредактируйте участок текста, в котором содержатся настройки кодировки, следующим образом:
Code
1
2
3
4
5
6
## UTF 8 Settings
init-connect=\'SET NAMES utf8\'
collation_server=utf8_unicode_ci
character_set_server=utf8
#skip-character-set-client-handshake
character_sets-dir="C:/xampp/mysql/share/charsets"
Путь в character_sets-di у вас может не совпадать...

В принципе, здесь никаких разъяснений не нужно...
Сохраняем и закрываем.
Тестить правильность настройки кодировки будем после установки Navical Lite и создания соединения

к БД MySQL

Вот и подошли к завершению настройки XAMPP))) Теперь протестим нашу конфигурацию Apache.
Сначала создадим ярлык на рабочем столе файла hosts (полный путь до файла hosts под вашу ОС

можно найти здесь). Это необходимо для удобства,

т.к. при создании виртуально хоста на локальном компьютере с удобным URL адресом, как и удаленных

веб-сайтов (т.е. www.mysite.ru, а не localhost/...), мы будем часто к нему

обращаться. Открываем файл hosts через текстовый редактор и добавляем следующее:
Code
1
2
127.0.0.1   test.ru
127.0.0.1   www.test.ru
Сохраняем и закрываем.
Мы добавили www.test.ru помимо test.ru для того, чтобы при вводе в адресной строке

(в браузере) www.test.ru не возникало никаких ошибок; всё-таки test.ru и

www.test.ru
- разные хосты... Но не переживайте по этому поводу Помните про зеркало (

ServerAlias
)?)
т.е. при обращении к www.test.ru все запросы перенаправляются на основной хост test.ru.
Открываем XAMPP Control Panel и напротив Apache нажимаем на кнопку Start...
Ах да, чуть не забыл Если у вас есть Skype, то перед запуском XAMPP запустите скайп,

авторизируйтесь, зайдите в настройки:

Перейдите в Дополнительно --> Соединение и снимите галочку с "Использовать порты 80 и

443 в качестве входящих альтернативных
":

Это вам даст возможность общаться по скайпу и одновременно разрабатывать веб-приложение

Если у вас удачно запустился Apache, то никаких ошибок в настройках нет. Можно проверить настройки

и MySQL (напротив MySQL нажмите кнопку Start)

Напишем, наконец, в адресную строку своего веб-браузера www.test.ru или test.ru

(можно то и то)
И увидим вот что:


Идем дальше...
  • Установка FileZilla
FileZilla пригодится для размещения проекта на хостинге (шаг №3). Я устанавливал ее по умолчанию.

Загрузить последнюю версию можно здесь.
  • Установка Navicat Lite и создание соединения с БД MySQL
На данный момент времени я использую Navicat Lite v9.1.6. Скачать под Windows можно

здесь

(есть Lite версии и под другие ОС).

Установите Navicat Lite по умолчанию и запустите.

Теперь создадим соединение с БД MySQL. Для этого нажмем на кнопку Connection и выберем

MySQL
. Перед нами откроется небольшое окошко. В поле Connection Name вводим имя

соединения; остальное оставляем по умолчанию. У меня получилось вот так:



Нажимаем Test Connection. Если появилось сообщение об успешном соединении, нажимаем везде

ОК... В противном случае проверьте соединение с MySQL-сервером (зайдите в XAMPP и нажмите кнопку

Start напротив MySQL, если у вас MySQL-сервер не запущен).

Теперь проверим кодировку, которую установили ранее. Для этого откроем созданное нами соединение,

выделим ЛКМ таблицу test и ПКМ щелкним по этой таблице, выберим Database Properties...
Если увидим вот это:



значит, мы правильно установили ранее кодировку Нажимаем ОК и закрываем Navicat Lite.
  • Установка и настройка NetBeans IDE (for PHP)
Я использую NetBeans, потому что он очень удобный, русскоязычный, к тому же активно развивается
Загрузить последнюю версию можно здесь.
Переходим на страницу загрузки, выбираем под свою платформу последнюю версию (я выбрал 7.3 RC2),

находим "PHP" и нажимаем Загрузить. После загрузки устанавливаем (настройки

установки не меняем - ставим по умолчанию).

Запускаем NetBeans... Далее, настроим его

Заходим в настройки: Сервис --> Параметры. Находим и нажимаем на PHP. Ниже я

просто приведу ссылки на скриншоты с настройками:





Чтобы настроить модульное тестирование в NetBeans (for PHP), необходимо получить файл

phpunit.bat
и phpunit-skelgen.bat. Зайдем в консоль, перейдем в директорию

.../xampp/php (у меня путь такой: C:\xampp\php), введем
Code
1
pear config-set auto_discover 1
нажем Enter:


введем
Code
1
pear install pear.phpunit.de/PHPUnit
нажмем Enter... Ждем, пока идет загрузка

и установка... После установки вводим
Code
1
pear install phpunit/PHPUnit_SkeletonGenerator
и нажимаем Enter. Снова ждем, пока загружается и устанавливается... После установки закрываем

консоль и настраиваем модульное тестирование:



Нажимаем ОК... Все... С настройками закончили... Давайте вернемся к нашему тестовому файлику (index.php) и "отдебажим" его
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.02.2013, 14:35
Ответы с готовыми решениями:

Роутинг своими руками
Доброго времени суток! Я тут набросал код для роутера, прошу опытных посмотреть на него и поправить возможные ошибки, может у кого...

Человекопонятный url (или ЧПУ) своими руками
Наверное, этот вопрос уже &quot;заезженный&quot; и сто раз обсужденный. Но поиск по форуму ничего не дал. По этому подниму я его еще раз. В...

ОС своими руками
Здравствуйте, форумчане, появился вот такой вопрос: возможно ли создать простейшую ос руками простого программиста, заранее знаю что ничего...

2
Заблокирован
20.02.2013, 14:36  [ТС]
В NetBeans'е создаем новый проект (приведу скриншоты):









Т.к. я сохранил index.php в кодировке windows-1251, откроется диалоговое окно с сообщением:
Безопасное открытие файла C:/xampp/htdocs/WebApp/test.ru/www/index.php с кодировкой UTF-8 невозможно. Открыть его?
Нажимаем Нет и удаляем index.php из проекта, создаем новый PHP-файл с именем index:





Если у вас будет тоже самое...

Отредактируем этот файл следующим образом:
PHP
1
2
3
4
<?php
    $a = 'Тестовый файл :)';
    $b = 'Привет)';
    echo ($a . ' ' . $b);
Поставим точку останова на 2 строке и нажмем на Отладку проекта (перед отладкой запустите Apache в XAMPP CP).



После запуска браузера (или создании новой вкладки, как у меня ) с URL http://www.test.ru/index.php?XDEBUG_SESSION_START=netbeans-xdebug перейдите в NetBeans.

Перед нами отображаются, скажем так, "пульт управления отладкой"

Нажмем кнопку Войти:



И увидим во вкладке Переменные переменную $a с типом string и значением Тестовый файл

Изменим ее зчаниение на Файл для отладки (новое значение пишем м/у кавычками, т.к. работаем с типом stirng; когда напишите новое значение, нажмите Enter).

Еще раз нажмем Войти и увидим еще одну переменную того же типа string со значением Привет). Менять значение не будем)))
Нажмем на кнопку Продолжить (находится правее от кнопки Войти):



У меня в браузере отображается вот это:
Файл для отладки Привет)
Значит браузер не знает, в какой кодировке отобразить данные... Что ж... Поможем ему
Отредактируем наш index.php вот так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE>
<html>
    <head>
        <meta charset="UTF8">
    </head>
    <body>
        <?php
            $a = 'Тестовый файл :)';
            $b = 'Привет)';
            echo ($a . ' ' . $b);
        ?>
    </body>
</html>


Остановим отладку проекта (нажмем на кнопку Завершить сеанс отладчика, которая находится около кнопки Продолжить), и снова нажимаем на Отладку проекта. Действуем так же, как и с предыдущей отладкой.
И-и вуаля:
Файл для отладки Привет)

На этом первый шаг завершается... Здесь мы,скажем так, вооружились и подготовились для боя, который будет в следующем шаге

P.S. Прошу ниже ничего не постить... Т.к. я буду продолжать в след. посте статью... Если у вас есть вопросы по данной части статьи, то обратитесь ко мне в личку или в skype: alexrgx...
Спасибо за внимание!
2
Заблокирован
17.03.2013, 15:34  [ТС]
Сдлеаю скринкаст вышесказанного... Сегодня опубликую... Прошу ниже ничего не писать... Вместо NetBeans использовать будем PHPStorm 6.0
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.03.2013, 15:34
Помогаю со студенческими работами здесь

Акустика своими руками
в этом блоге есть статья как я делаю акустику 5.1 на отечественныхдинамиках http://audyo-best.btogspot.som/

Нарды своими руками
Друзья, давно в голове не дает покоя мысль, сделать нарды своими руками. Для этого мне необходимо 2 вещи: 1. Чертеж / габариты; 2....

Windows XP своими руками
доброго времени суток . ПОдскажите черз какой софт можно сделать образ ХР самому ну тоесть выкинуть все лишнее типо игр, заставок ,...

Colorpicker своими руками
Здравствуйте , Помогите пожалуйста сделать задание. Создать клиентский скрипт на языке JavaScript, выполняющий действия в соответствии с...

Компилятор своими руками
Вот компилятор Basic написанный на Бейсике:smoke:


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru