1 / 1 / 0
Регистрация: 10.05.2015
Сообщений: 133
1

Добавление в базу данных аудиозаписей

28.05.2017, 18:16. Показов 1203. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
ребят, кто разбирается с файлами в php, а конкретней с добавлением в базу данных аудиозаписей, прошу уделить время, нужно как то разобраться, а я никак не пойму, изучал, пробовал, но все безуспешно, нужна помощь, может как то в лс обсудить
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.05.2017, 18:16
Ответы с готовыми решениями:

Добавление данных из нескольких текстовых полей в базу данных
Добрый день. С толкнулся со следующей проблемой: У меня есть форма в которой генерируется некое...

Добавление данных в базу данных во время функции printf()
Привет всем! У меня возникла проблема. Задача такая: нужно принять данные с одной таблицы в базе...

Добавление записи в базу данных и считывание из базы данных
Здравствуйте! Знаю, что эти вопросы поднимались уже тысячи раз, но помогите пожалуйста. Написала...

Добавление данных в базу данных из зависимых списков
Сделала зависимые списки, в которых берутся данные из базы. Нужно, чтобы выбранные данные...

20
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
29.05.2017, 17:07 2
Файлы можно хранить бинарно в БД, а можно на диске.
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
29.05.2017, 21:39 3
Цитата Сообщение от vladislav123123 Посмотреть сообщение
а конкретней с добавлением в базу данных аудиозаписей,
записи на сервере, в базе ссылки на них
0
1 / 1 / 0
Регистрация: 10.05.2015
Сообщений: 133
30.05.2017, 20:27  [ТС] 4
fanatikus, записал на сервер файл, это получилось, а как ссылку сделать не знаю, вот что писал:
PHP
1
2
3
4
5
6
7
8
9
$random = rand(1000000, 9999999);   
    $audios = $random.".mp3";
    $result = mysql_query("SELECT audio FROM users WHERE id='$id_user'");
    $audio = mysql_fetch_array($result);
    
    $up = mysql_query("UPDATE users SET audio='$audios' WHERE id='$id_user'");
    if ($up == true) {
        echo "<br><b><p>Данные успешно внесены в базу!!!</p></b>"; 
    }
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
30.05.2017, 20:36 5
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$file = $_FILES['attach']['name'];
if (!empty($file)) {
    $filetype=$_FILES['attach']['type'];
    $file_ext = strrchr($file, '.');
    $whitelist = array(".mp3"); 
    
    if (!(in_array($file_ext, $whitelist))) {
        echo 'Вы пытаетесь загрузить запрещенный формат файла';
    }else {
        $tmp_name = $_FILES["attach"]["tmp_name"];
        $file = basename($_FILES["attach"]["name"]);
        //директория загрузки
        $uploaddir = "/mail_attach/";
        //новое имя
        $apend=date('YmdHis').rand(100,1000).$file_ext;
        //путь к файлу
        $uploadfile = "$uploaddir$apend";
        $file_upload = move_uploaded_file($tmp_name, $_SERVER[DOCUMENT_ROOT].'/'.$uploadfile);
        
        
        $result = mysql_query("SELECT audio FROM users WHERE id='$id_user'");
        $audio = mysql_fetch_array($result);
        
        $up = mysql_query("UPDATE users SET audio='".$uploaddir."' WHERE id='".$id_user."'");
        if ($up == true) {
            echo "<br><b><p>Данные успешно внесены в базу!!!</p></b>"; 
        }
    }
}
0
1 / 1 / 0
Регистрация: 10.05.2015
Сообщений: 133
30.05.2017, 20:47  [ТС] 6
Виталюска, вот что он в бд сохраняет:
Изображения
 
0
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
30.05.2017, 21:58 7
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$file = $_FILES['attach']['name'];
if (!empty($file)) {
    $filetype=$_FILES['attach']['type'];
    $file_ext = strrchr($file, '.');
    $whitelist = array(".mp3"); 
    
    if (!(in_array($file_ext, $whitelist))) {
        echo 'Вы пытаетесь загрузить запрещенный формат файла';
    }else {
        $tmp_name = $_FILES["attach"]["tmp_name"];
        //директория загрузки
        $uploaddir = "/mail_attach/";
        //новое имя
        $apend=date('YmdHis').rand(100,1000).$file_ext;
        //путь к файлу
        $uploadfile = "$uploaddir$apend";
        $file_upload = move_uploaded_file($tmp_name, $_SERVER[DOCUMENT_ROOT].'/'.$uploadfile);
             
        $up = mysql_query("UPDATE users SET audio='".$uploadfile."' WHERE id='".$id_user."'");
        if ($up == true) {
            echo "<br><b><p>Данные успешно внесены в базу!!!</p></b>"; 
        }
    }
}
0
1 / 1 / 0
Регистрация: 10.05.2015
Сообщений: 133
30.05.2017, 22:03  [ТС] 8
plohoyav, ты тот же код скинул
0
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
30.05.2017, 22:10 9
ошибка в строке 19
0
1 / 1 / 0
Регистрация: 10.05.2015
Сообщений: 133
30.05.2017, 22:11  [ТС] 10
plohoyav, нужно на $apend поменять?
0
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
30.05.2017, 22:15 11
$uploadfile
0
1 / 1 / 0
Регистрация: 10.05.2015
Сообщений: 133
30.05.2017, 22:23  [ТС] 12
plohoyav, ну то бишь, $uploadfile поменять на $apend, так?
0
1 / 1 / 0
Регистрация: 10.05.2015
Сообщений: 133
30.05.2017, 22:31  [ТС] 13
просто если вставлять $uploadfile то он вместе с путем вставляется в базу, а если $apend, то без пути, сразу название.mp3. так как правильно то?
0
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
30.05.2017, 22:31 14
$uploaddir поменять на $uploadfile
0
1 / 1 / 0
Регистрация: 10.05.2015
Сообщений: 133
30.05.2017, 22:31  [ТС] 15
plohoyav, просто если вставлять $uploadfile то он вместе с путем вставляется в базу, а если $apend, то без пути, сразу название.mp3. так как правильно то?
0
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
30.05.2017, 22:49 16
без директории - экономия размера БД

с директорией - проще указывать путь к файлу в html коде
0
1 / 1 / 0
Регистрация: 10.05.2015
Сообщений: 133
30.05.2017, 22:51  [ТС] 17
plohoyav, кстати, по поводу вывода этой аудиозаписи, я написал так:
PHP
1
2
3
4
5
6
7
8
9
10
<?php
                    if(isset($login) AND isset($password)){
                        if($result['audio'] == ''){
                            $audio = "У данного пользователя нет трека!";
                        }else{
                            $track = $result['audio'];
                        }
                        echo "<source src='audio/".$track."' type='audio/mp3'></source>";
                        
                    }?>
но он выводить не хочет, пишет вроде как null через var_dump()
0
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
30.05.2017, 23:42 18
Может быть $result содержит null в поле audio

Проверка
PHP
1
echo '<pre>'.var_export($result,1).'</pre>';
0
1 / 1 / 0
Регистрация: 10.05.2015
Сообщений: 133
31.05.2017, 00:22  [ТС] 19
plohoyav, да, он действительно содержит null, что делать?
0
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
31.05.2017, 08:34 20
PHP
1
2
3
4
5
6
if(empty($result['audio'])){
   echo "У данного пользователя нет трека!";
}else{
   $track = $result['audio'];
   echo "<audio controls><source src='audio/".$track."' type='audio/mp3'></source></audio>";
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2017, 08:34
Помогаю со студенческими работами здесь

Добавление в базу данных
Здравствуйте! Помогите пожалуйста!!! Вот моя база данных: -- Table structure for table...

Добавление данных в базу
Доброго времени суток! Балуясь дома столкнулся с проблемой: Не добавляются данные в БАЗУ. 100500...

Добавление в базу данных
Мне нужно, чтоб данные, введенные пользователем на сайте заносились в базу. Пишу вот такое: ...

Добавление в базу данных
Пожалуйста, помогите разобраться с кодом. Пытаюсь добавить в базу новую запись. Форма: &lt;div&gt;...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru