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

Загрузить файл на сервер и добавить ссылку в БД

31.05.2014, 00:50. Показов 1142. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте. Есть такой код:
Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<html>
<body>
 
<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>
 
</body>
</html>


Форма передает запрос на оброботку php скрипту, который сохраняет файл на сервер

Кликните здесь для просмотра всего текста
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
if ($_FILES["file"]["error"] > 0) {
  echo "Error: " . $_FILES["file"]["error"] . "<br>";
} else {
  echo "Upload: " . $_FILES["file"]["name"] . "<br>";
  echo "Type: " . $_FILES["file"]["type"] . "<br>";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
?> 
 
<?php
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
 
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 2000000)
&& in_array($extension, $allowedExts)) {
  if ($_FILES["file"]["error"] > 0) {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
  } else {
    echo "Upload: " . $_FILES["file"]["name"] . "<br>";
    echo "Type: " . $_FILES["file"]["type"] . "<br>";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
    if (file_exists("/home/slavik/upload/" . $_FILES["file"]["name"])) {
      echo $_FILES["file"]["name"] . " already exists. ";
    } else {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "/home/slavik/upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "/home/slavik/upload/" . $_FILES["file"]["name"];
    }
  }
} else {
  echo "Invalid file";
}
?>


Теперь создал таблицу в БД

Кликните здесь для просмотра всего текста
MySQL
1
2
3
4
5
6
7
8
CREATE TABLE upload (
ID_upload INT NOT NULL AUTO_INCREMENT,
name VARCHAR(30) NOT NULL,
type VARCHAR(30) NOT NULL,
size INT NOT NULL,
content MEDIUMBLOB NOT NULL,
PRIMARY KEY(id)
);


Как подредактировать следующий код и соиденить с предидущим, чтобы ссылка на файл добавлялась в таблицу?
Что должно быть прописано в $link ?

Кликните здесь для просмотра всего текста
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
$fp      = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);
 
if(!get_magic_quotes_gpc())
{
    $fileName = addslashes($fileName);
}
 
 
$query = "INSERT INTO upload (name, size, type, content ) ".
"VALUES ('$fileName', '$fileSize', '$fileType', '$content')";
 
mysqli_query($link, $query); 
 
$query = "SELECT name, type, size, content " .
         "FROM upload WHERE ID_upload = '$id'";
 
$result = mysqli_query($link, $query);
list($name,$type,$size,$content)= mysql_fetch_array($result);
 
header("Content-length: $size");
header("Content-type: $type");
header("Content-Disposition: attachment; filename=$name");
echo $content;
 
exit;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.05.2014, 00:50
Ответы с готовыми решениями:

загрузить файл на сервер а ссылку в БД
проблема такая на сервер файл грузится а в БД ссылка не добавляется вот код &lt;?php include(&quot;connect.php&quot;); ...

Как загрузить файл и получить ссылку на него
Добрый вечер! Как можно загрузить файл в media и получить сращу ссылку на него ?

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

1
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
02.06.2014, 00:11
Цитата Сообщение от GDB Посмотреть сообщение
Что должно быть прописано в $link ?
http://ru2.php.net/mysqli_query
Цитата Сообщение от GDB Посмотреть сообщение
Как подредактировать следующий код и соиденить с предидущим, чтобы ссылка на файл добавлялась в таблицу?
создать в таблице поле "путь к файлу" и туда записывать путь к файлу от корня сайта. Далее просто выводишь тег <a href="путь">название</a>
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.06.2014, 00:11
Помогаю со студенческими работами здесь

Загрузить файл на сервер
Возможно ли с помощью Pascal ABC NET отправить какой либо файл через интернет? Например загрузить его на хостинг или передать как нибудь на...

Загрузить файл на сервер
Добрый день. Никак не соображу с какой стороны подойти, хотя вроде у всех задача решается быстро и просто. Есть удалённый...

загрузить файл на сервер
Я написал программу которая скачивает некий текстовый файл из интернета и отображает его. Надо теперь изменив его сохранить на сервере. Как...

Не могу загрузить файл на сервер
Есть форма, на форме input type file и кнопка, по клику на которую вызывается функция, которая отправляет файл - просто сабмитит форму. ...

Не могу загрузить файл на сервер
Не могу загрузить файл на сервер. Добрый день у меня такая проблема, не могу загрузить файл на сервер. Пишет файл слишком большой...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru