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

не корректно работает input file

20.08.2010, 17:36. Показов 1887. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Проблема в том что когда файл находится в другой папке, а не в корневой, то input file не передает весь путь а только конечное имя файла.Необходимо сделать так чтоб можно было выбрать файл из любой директории и весь путь вносился в базу, и файл в данном случае картинка отображалась на сайте. Помогите пожалуйста. Вот код формы:
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?
$db = mysql_connect("localhost","admin","admin");
mysql_select_db("admin",$db);
 
?>
<form name="form1" method="post" action="add_record.php">
      <p>
      <label>Введите артикул:<br>
      <input type="text" name="articul" id="articul">
      </label>
      </p>
      
      <p>
      <label>Введите название товара:<br>
      <input name="firm" type="text" id="firm" size="40">
      </label>
      </p>
      <p>
        <label>Введите фирму производителя:<br>
        <input name="proizvod" type="text" id="proizvod" size="40px">
        </label>
</p>
      <p>
              <label>Выберите раздел:<br>
              <select name="category" id="category">
              
              <?
              $result = mysql_query("SELECT id,cat FROM categories", $db);
              if (!$result)
              {
                  echo "Запрос не прошел ";
                  exit (mysql_error());
              }
              if (mysql_num_rows($result) > 0)
              {
                  $myrow = mysql_fetch_array ($result);
                  do 
                  {
                      printf ("<option value='%s'> %s </option>" , $myrow["cat"], $myrow["cat"]);
                  }
                  while ($myrow = mysql_fetch_array ($result));
              }
              else
              {
                  echo"нет записей";
              }
              
              
              ?>
              </select>
              </label>
        </p>
        
        <p>
        <label>Выберите миниатюру:<br>
        <input name="image" type="file" id="image">
        </label>
        </p>
           
      <p>
              <label>Введите краткое описание товара:<br>
              <textarea name="descr" id="descr" cols="35" rows="10">
              </textarea>
              </label>
              </p>
             
      <p>
              <label>
              Введите полное описание товара:<br>
              <textarea name="text" cols="35" rows="15" id="text">              
              </textarea>
              </label>
              </p>
            
              <p>
              <label>
              <input name="submit" type="submit" class="button" id="submit" value="Внести запись">
              </label>
            </p>
            <br>
            <br>
        </form>
Вот код файла-обработчика:
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
<?php
error_reporting( E_ALL );
 
 
$db = mysql_connect("localhost","admin","admin") or die( mysql_error() );
mysql_select_db("romax",$db) or die( mysql_error());
 
 
if (isset ($_POST['articul'])) {$articul = $_POST['articul']; if ($articul == '') {unset ($articul);}  }
if (isset ($_POST['firm'])) {$firm = $_POST['firm']; if ($firm == '') {unset ($firm);}  }
if (isset ($_POST['proizvod'])) {$proizvod = $_POST['proizvod']; if ($proizvod == '') {unset ($proizvod);}  }
if (isset ($_POST['title'])) {$title = $_POST['title']; if ($title == '') {unset ($title);}  }
if (isset ($_POST['descr'])) {$descr = $_POST['descr'];if ($descr == '') {unset ($descr);}  }
if (isset ($_POST['text'])) {$text = $_POST['text']; if ($text == '') {unset ($text);}  }
if (isset ($_POST['category'])) {$category = $_POST['category']; if ($category == '') {unset ($category);}  }
if (isset ($_POST['image'])) {$image = $_POST['image']; if ($image == '') {unset ($image);}  }
?>
 <?php
  
   
  $result = mysql_query ("INSERT INTO product (articul, firm, img, proizvod, title, descr, text) VALUES ( '$articul', '$firm', '$image','$proizvod', '$category', '$descr', '$text') " ) ;
  
  if ( $result == true ) 
  {
  echo "<p>Запись добавлена</p>";
  }
  else
  {
  echo "<p>Запись не добавлена</p>";
  }
   
   
   ?>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.08.2010, 17:36
Ответы с готовыми решениями:

Программа не работает корректно . Output\Input . Египетское умножение
Здравствуйте ! Хотел бы у вас спросить, что я делаю не так? В файле output ничего не выводит . Буду очень благодарен, кто сможет помочь ! ...

Не работает стилизованный input type file в мазиле
Здравствуйте. Не выскакивает окно выбора файла в мазле. http://smartapk.vv.si/chat2.html (кликните все в сад, появится кнопка...

Получить названия файлов из input file в input text
Как переместить названия файла из input type file в input type text с помощью javascript?

7
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
20.08.2010, 18:31
Странное решение. В вашем случае эти картинки можно будет увидеть только на том компьютере, с которого вы их загружали. Потому что вы не картинку загружаете на веб-сервер, а только путь к ней.

Добавлено через 1 минуту
Покурите эту темку. Есси чо не ясно, спрашивайте.
0
0 / 0 / 0
Регистрация: 06.08.2010
Сообщений: 19
20.08.2010, 21:12  [ТС]
Дело в том что эти файлы уже на сервере, ну жно просто занести путь к ним в базу данных! как сделать так чтоб весь путь, через все папки вводился в базу данных??
0
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
23.08.2010, 14:10
А структура папок и файлов однородная? Под однородностью я понимаю отсортированные по папкам картинки, например:
Code
1
2
3
4
5
6
7
8
9
папка Товар1
 image1.jpg
 image2.jpg
папка Товар2
 img.jpg
 243678.jpg
папка Товар3
 vid_speredi.jpg
 vid_szadi.jpg
Если да, то сохранять можно только имена файлов. Названия папок "калькулировать" по идентификатору.
0
0 / 0 / 0
Регистрация: 06.08.2010
Сообщений: 19
23.08.2010, 16:24  [ТС]
Нет структура не однородная, разное количество подпапок. А мжно чтоб input сохранял путь в переменную, как текст и вставлял его в БД?
0
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
23.08.2010, 19:15
Цитата Сообщение от momo21 Посмотреть сообщение
А мжно чтоб input сохранял путь в переменную, как текст и вставлял его в БД?
Элемент input(type=file) этим не занимается, к сожалению... Он предназначен исключительно для загрузки файлов на сервер (самих файлов, а не их названий и путей).

Как вам помочь в такой ситуации - пока ничего на ум не приходит, так как не знаю какого рода информация у вас заключена в файлах, и какому порядку она подчиняется.
В идеале: изменить файловую структуру на однородную. Если это затруднительно делать вручную, тогда подумайте, может это можно сделать каким-нибудь скриптом. Со скриптом могу помочь.
0
0 / 0 / 0
Регистрация: 06.08.2010
Сообщений: 19
23.08.2010, 23:02  [ТС]
А написать скрипт для нормально загрузки файла на сервер очень трудно и долго или за день можно справиться?
0
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
24.08.2010, 18:39
Цитата Сообщение от momo21 Посмотреть сообщение
А написать скрипт для нормально загрузки файла на сервер очень трудно и долго или за день можно справиться?
За пару часов можно справиться (написать и отшлифовать), если понятие есть
Но раз они есть уже на сервере, то стоит ли их туда загружать еще раз?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.08.2010, 18:39
Помогаю со студенческими работами здесь

как приукрасить <input type="file"input type="file">
я задал свойства для данного елемента: img{ border: red; background-color: #00B330; border-radius: 4px; } но, как...

input file
Ребята! помогите пожалуйста! хочу научиться работать с reedFile или scaner. есть массив , записанный в txt файле, нужно извлечь из...

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

Input File
А ещё такой вопрос. Я знаю, что есть такой html тег input file и там можно выбирать файл с компьютера. А как реализовать на php, чтобы он...

No input file specified
Всем здравствуйте :) При обращении к сайту иногда возникает эта ошибка. отчего может возникать она? в большинстве случаев помогает...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru