Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Загрузка файлов на сайт

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


     22.11.2012    Общие вопросы по PHP, Модули    2067

вопрос
Всем привет, подскажите пожалуйста как сделать что бы файл загружался на сайт, а имя и путь загруженного файла записывались в базу, для дальнейшего прослушивания на сайте.
Вот код 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
5 | 5

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

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

pavel31
4

340 | 158

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

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

pavel31
4

340 | 158

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

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

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

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