вопрос
Всем привет, подскажите пожалуйста как сделать что бы файл загружался на сайт, а имя и путь загруженного файла записывались в базу, для дальнейшего прослушивания на сайте.
Вот код php файла добавления треков по ссылкам
По ссылкам все работает как надо, а загрузка файлов не работает :(
Вот код php файла добавления треков по ссылкам
По ссылкам все работает как надо, а загрузка файлов не работает :(
Нужно создать таблицу в БД, например 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>";
}