Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Загрузка файлов на сайт

Загрузка файлов на сайт


     22.11.2012    загрузка файлов    Общие вопросы по PHP, Модули    3275

вопрос
Всем привет, подскажите пожалуйста как сделать что бы файл загружался на сайт, а имя и путь загруженного файла записывались в базу, для дальнейшего прослушивания на сайте.
Вот код php файла добавления треков по ссылкам






По ссылкам все работает как надо, а загрузка файлов не работает :(

Ответил: golden_eagle_god


Нужно создать таблицу в БД, например dle_audios с полями: name, path.
Создать переменную для полного пути и выполнить запрос в эту базу на запись строки.
Примерно так:
$maxsize = 10240000;
$accepted = array('mp3');
$filedir = 'uploads/music';
if($_SERVER['REQUEST_METHOD'] == 'POST') {
preg_match('/\.([a-zA-Z]+?)$/', $_FILES['file']['name'], $matches);
if(in_array(strtolower($matches[1]), $accepted)) {
if($_FILES['file']['size'] <= $maxsize) {
$newname = md5_file($_FILES['file']['tmp_name']).'.'.$matches[1];
move_uploaded_file($_FILES['file']['tmp_name'], $filedir.'/'.$newname);

$fullpath = $filedir.'/'.$newname //Создал переменную полного пути (Без домена сайта, типо uploads/music/5trte.mp3)

$title = 'http://'.$_SERVER['HTTP_HOST'].preg_replace('/\/([^\/]+?)$/', '/', $_SERVER['PHP_SELF']).'#'.$newname;
$description = 'http://'.$_SERVER['HTTP_HOST'].preg_replace('/\/([^\/]+?)$/', '/', $_SERVER['PHP_SELF']).$filedir.'/'.$newname;


$db->super_query( "INSERT INTO " . PREFIX . "_audios (name, path) VALUES ('{$title}', '{$fullpath}')" ); //Выполняю запрос на запись в таблицу
}
else
$stop .= "<p>Извините, максимальный размер файла 10 mb</p>";
}
else
$stop .= "<p>Извините, данный формат файла запрещён</p>";
}

3 комментария

Sairox
Юзер

Sairox - 23 ноября 2012 15:59 -

Ну кто нибудь))

pavel31
Юзер

pavel31 - 23 ноября 2012 19:28 -

Бесплатно наверное ни кто не поможет :(

pavel31
Юзер

pavel31 - 24 ноября 2012 12:44 -

Ну ответьте же кто нибудь на мой вопросик, не проходите мимо его, пожалуйста.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх