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

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

04.05.2015, 11:36. Показов 1124. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.05.2015, 17:16
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru