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

Как можно картинку переместить на сервер и вписать имя картинки в бд?

04.05.2015, 11:36. Показов 1306. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Создаю новую новость, прикрепляю к ней фото,как можно картинку переместить на сервер и вписать имя картинки в бд?
Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<form action="save2cat.php" method="post">
        <p><select size="0"  name="hero">
    <option>Выберите категорию/вне категории</option>
    <option value="1">Городская жизнь</option>
    <option value="2">Бизнес и компании</option>
    <option value="3">Животные</option>
    <option value="4">Работа</option>
   <option value="5">Интернет и технологии</option>
   <option value="6">Образование</option>
   </select></p>
        <p>Кому направлена петиция: <input type="text" name="komy" size="33"></p>
        <p>Что они должны сделать(Требования): <input type="text" name="trebovanie" size="21"></p>
        <p>Суть(Описание):<br>
<textarea name="opisanie" cols="60" rows="20"> </textarea></p>      
        
        <p>ФИО: <input type="text" name="fio" size="30"></p>
        <p>Город: <input type="text" name="gorod" size="30"></p>
 
   <p>Загрузить фото</p>
   <p><input type="file" name="photo" multiple accept="image/*,image/jpeg"></p>
 
        
        <p><input type="submit" value="Добавить"></p>
    </form>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.05.2015, 11:36
Ответы с готовыми решениями:

Загрузка картинки (имя картинки заносится в базу, но на сервер она не закачивается)
Добрый вечер! Друзья выручайте... Набросал код (кое что взял с Интернета) для загрузки картинок: &lt;?php if (isset($_FILES)) { ...

Как пропорционально вписать картинку в DBImage?
Как пропорционально вписать картинку в DBImage? Не могу найти решения на форумах.

Как сделать квадратный div и вписать в него картинку
Никак не могу сообразить как сделать квадратный div и вписать в него произвольную картинку. &lt;div style='width:20%'&gt; ...

9
F57
 Аватар для F57
68 / 68 / 23
Регистрация: 17.02.2015
Сообщений: 397
04.05.2015, 11:41
HTML5
1
2
3
4
5
6
7
8
9
10
<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
1
2
3
4
5
<?
  echo "Upload: " . $_FILES["file"]["name"] . "<br>";
  echo "Type: " . $_FILES["file"]["type"] . "<br>";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
 ?>
0
2 / 2 / 2
Регистрация: 11.05.2010
Сообщений: 84
04.05.2015, 11:53  [ТС]
Как быть, если форма с action уже есть?

и получиться 2 кнопки(первая на отправку фото, вторая на отправку инфы с формы). Как в одну кнопку сделать?
0
31 / 45 / 21
Регистрация: 09.10.2012
Сообщений: 825
04.05.2015, 14:12
Nesta, вставить в вашу форму
HTML5
1
<input type="file" name="file" id="file"><br>
и поменять
HTML5
1
enctype
0
2 / 2 / 2
Регистрация: 11.05.2010
Сообщений: 84
04.05.2015, 20:22  [ТС]
Я так понимаю что в файле
upload_file.php должно располагаться следующее?
PHP
1
2
3
4
$name=$_FILES["file"]["name"];
$type=$_FILES["file"]["type"]";
 
$NT=$name.$type; // это имя и расширение картинки, и его можно пихать в бд?
А как его теперь эту картинку скопировать на сервер?
0
 Аватар для alexsamos33
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
05.05.2015, 07:49
См. функцию move_uploaded_file.
0
2 / 2 / 2
Регистрация: 11.05.2010
Сообщений: 84
08.05.2015, 19:07  [ТС]
Картинка не копируется на сервер, в чем промах?
PHP
1
2
3
4
5
6
7
8
9
10
<form action="save2cat.php" method="post" enctype="multipart/form-data">
        <p><select size="0"  name="hero">
    <option>Выберите категорию/вне категории</option>
    <option value="1">Городская жизнь</option>
  </select>
<input type="text" name="komy" size="33">
 <input type="text" name="trebovanie" size="21">
<input type="file" name="file" >
<input type="submit" value="Добавить">
    </form>
save2cat.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
<?php
require "eshop_lib.inc.php";
$kategory = clearData($_POST['hero']);
$komy = clearData($_POST['komy']);
$trebovanie = clearData($_POST['trebovanie']);
save($kategory, $komy, $trebovanie);
 
 
 
 
$extensions = array('jpeg', 'jpg', 'png', 'gif');
$max_size = 500000;
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset ($_POST['submit'])){
    if ($_FILES['file']['size'] > $max_size){
                   echo 'файл больше допустимого размера';
    }
    else{
        $ext = strtolower(pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION));
        if (in_array($ext, $extensions)){
            $name =  uniqid() . '.' . $ext;
            $path ='x:/home/localhost/www/control/'.$name;
            if (move_uploaded_file($_FILES['file']['tmp_name'], $path)){
                echo 'файл загружен';
            }
            else{
                echo 'файл, загрузить не удалось';
            }
        }
        else{
            echo 'недопустимое расширение файла';
        }
     }
}
 
 
 
 
 
?>
0
 Аватар для alexsamos33
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
08.05.2015, 21:37
PHP
9
<input type="submit" value="Добавить">
У вас не выполняется условие. Раз у вас такое условие:
PHP
13
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset ($_POST['submit']))
То соответственно поставьте кнопке submit атрибут name="submit"
PHP
9
<input type="submit" name="submit" value="Добавить">
Да, и ещё обратите внимание, что путь x:/home/localhost/www/control/ (в вашем случае)
должен существовать и быть корректным.
P.S. Пути не обязательно указывать в таком виде, можно указывать относительные, примерно так: ./control/
0
2 / 2 / 2
Регистрация: 11.05.2010
Сообщений: 84
09.05.2015, 16:44  [ТС]
Так разобрался, а что делать если отправили форму без картинки, как писать в базу дефолтную картинку?
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
$extensions = array('jpeg', 'jpg', 'png', 'gif','mp3','mp4','xls');
$max_size = 500000;
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset ($_POST['submit'])){
    if ($_FILES['file']['size'] > $max_size){
                   echo 'файл больше допустимого размера';
    }
    else{
        $ext = strtolower(pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION));
        if (in_array($ext, $extensions)){
            $name =  uniqid() . '.' . $ext;
            $path ='x:/home/localhost/www/control/media/images/'.$name;
            if (move_uploaded_file($_FILES['file']['tmp_name'], $path)){
                echo 'файл загружен';
            }
            else{
                echo 'файл, загрузить не удалось';
            }
        }
        else{
            echo 'недопустимое расширение файла';
        }
     }
}
$path2= "media/images/$name";
save($kategory, $komy, $trebovanie, $opisanie, $fio, $gorod, $path2);

Нужно как-то так? проверять есть ли на сервере, если нет то писать дефолтную, иначе писать нормальную
PHP
1
2
3
4
5
6
7
8
9
if (!move_uploaded_file($_FILES['file']['tmp_name'], $path)) ; //тут если не скопировалось
     $def = 'media/images/123.jpg' ;
save($kategory, $komy, $trebovanie, $opisanie, $fio, $gorod, $def)
 }
else
  {
$path2= "media/images/$name";
save($kategory, $komy, $trebovanie, $opisanie, $fio, $gorod, $path2);
  }
0
 Аватар для alexsamos33
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
09.05.2015, 17:16
Цитата Сообщение от Nesta Посмотреть сообщение
Нужно как-то так? проверять есть ли на сервере, если нет то писать дефолтную, иначе писать нормальную
Ну, а в чём вопрос?

Добавлено через 4 минуты
Посмотрите функцию file_exists.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.05.2015, 17:16
Помогаю со студенческими работами здесь

Можно ли получить имя картинки, загруженной в компонент PictureBox
можно ли получить имя картинки, загруженной в компонент PictureBox, в переменную типа string ?

как переместить картинки в определенное место?
как кроме как прибавляя к лефту и топу значения передвинуть картинки на форме на нужное место? ну,чтобы выбрать им координаты?

Как TLabel переместить поверх картинки?
суть программы такова: тест. есть картинка с изображением мускулатуры на пол окна и есть цифры ( 1 до 23 ), с названиями мышц. надо...

Как переместить картинку - в самую нижнюю-левую, заполненную ячейку листа
Доброе утро. Подскажите - как макросом перенести картинку &quot;Рисунок 3&quot; - в самую нижнюю-левую заполненную ячейку на листе ? (Имеется...

вписать в div картинку
Здравствуйте. Помогите пожалуйста вписать картинку в div Например: размеры diva 320px*250px а картинки 300px*190px, как сделать чтобы она...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru