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

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

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

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Создаю новую новость, прикрепляю к ней фото,как можно картинку переместить на сервер и вписать имя картинки в бд?
Кликните здесь для просмотра всего текста
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
Ответы с готовыми решениями:

Загрузка картинки (имя картинки заносится в базу, но на сервер она не закачивается)
Добрый вечер! Друзья выручайте... Набросал код (кое что взял с Интернета) для загрузки картинок:...

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

Как сделать квадратный div и вписать в него картинку
Никак не могу сообразить как сделать квадратный div и вписать в него произвольную картинку. &lt;div...

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

9
F57
68 / 68 / 23
Регистрация: 17.02.2015
Сообщений: 397
04.05.2015, 11:41 2
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  [ТС] 3
Как быть, если форма с action уже есть?

и получиться 2 кнопки(первая на отправку фото, вторая на отправку инфы с формы). Как в одну кнопку сделать?
0
31 / 45 / 21
Регистрация: 09.10.2012
Сообщений: 818
04.05.2015, 14:12 4
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  [ТС] 5
Я так понимаю что в файле
upload_file.php должно располагаться следующее?
PHP
1
2
3
4
$name=$_FILES["file"]["name"];
$type=$_FILES["file"]["type"]";
 
$NT=$name.$type; // это имя и расширение картинки, и его можно пихать в бд?
А как его теперь эту картинку скопировать на сервер?
0
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
05.05.2015, 07:49 6
См. функцию move_uploaded_file.
0
2 / 2 / 2
Регистрация: 11.05.2010
Сообщений: 84
08.05.2015, 19:07  [ТС] 7
Картинка не копируется на сервер, в чем промах?
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
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
08.05.2015, 21:37 8
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  [ТС] 9
Так разобрался, а что делать если отправили форму без картинки, как писать в базу дефолтную картинку?
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
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
09.05.2015, 17:16 10
Цитата Сообщение от Nesta Посмотреть сообщение
Нужно как-то так? проверять есть ли на сервере, если нет то писать дефолтную, иначе писать нормальную
Ну, а в чём вопрос?

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Как создавать приложения для iOS/iPhone
InfoMaster 12.01.2025
Введение в разработку iOS-приложений Разработка приложений для iOS открывает огромные возможности в мире мобильных технологий. С каждым годом количество пользователей iPhone и iPad растет,. . .
Как использовать Kotlin в Android разработке
InfoMaster 12.01.2025
Язык программирования Kotlin, разработанный компанией JetBrains, стал неотъемлемой частью современного мира Android-разработки. Первоначально представленный в 2011 году, Kotlin был официально. . .
Использование Go (Golang) в backend разработке
InfoMaster 12.01.2025
Язык программирования Go (Golang), разработанный компанией Google, стал важным инструментом для разработчиков программного обеспечения, особенно в области бэкенд-разработки. С момента своего. . .
Как работать с Laravel в PHP
InfoMaster 12.01.2025
Введение в Laravel Laravel представляет собой современный PHP-фреймворк с открытым исходным кодом, который значительно упрощает и ускоряет процесс разработки веб-приложений. Этот фреймворк был. . .
Как программировать под HCL Notes и создавать свои продукты на ее основе
InfoMaster 11.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой мощную платформу для разработки корпоративных приложений, которая сочетает в себе функции электронной почты, календаря,. . .
Как работать с SVN (Subversion)
InfoMaster 11.01.2025
Введение Система контроля версий является неотъемлемой частью современного процесса разработки программного обеспечения. Она обеспечивает управление изменениями в коде, позволяет отслеживать. . .
Использование GraphQL в JavaScript
InfoMaster 11.01.2025
Введение в GraphQL и его преимущества В современной разработке веб-приложений эффективный обмен данными между клиентом и сервером играет ключевую роль. GraphQL представляет собой язык запросов и. . .
Администрирован­­­­ие Git, продвинутые техники работы с Git
InfoMaster 11.01.2025
Основы управления репозиторием Эффективное управление Git-репозиторием требует глубокого понимания механизмов контроля доступа и инструментов администрирования. Рассмотрим ключевые аспекты. . .
Что такое HCL Notes и как с ним работать
InfoMaster 10.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой комплексную платформу для совместной работы и обмена информацией в корпоративной среде. Это многофункциональное решение,. . .
Как работать с Git из Windows и Visual Studio
InfoMaster 10.01.2025
Работа с Git в Windows Работа с Git в операционной системе Windows может быть осуществлена с помощью различных инструментов, каждый из которых обладает своими уникальными возможностями и. . .
Аналог оператора switch case в Python
InfoMaster 10.01.2025
Оператор switch case используется в программировании для выбора одного из нескольких вариантов исполнения кода. Однако в языке Python этот оператор отсутствует. Понимание аналогов switch case в. . .
Отличия абстрактного класса от интерфейса
InfoMaster 10.01.2025
В современной разработке программного обеспечения существуют два основных механизма реализации абстракции: абстрактные классы и интерфейсы. Эти инструменты, хотя и схожи в своей основной цели -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru