Заранее извеняюсь , если где-то на форуме есть такая тема ( нет времени искать)
Начну сначала : Есть страницы со списком файлов которые можно скачать, Поля (такие как - Информация о файле, размер, тип, формат и тд) вытаскиваются из бд..
Для всего этого я делаю "админку"
Там будет раздел "Добавить файл"
Сейчас он выглядит вот так
HTML |
<p> <form name="form1" method="post" action="add.php"> <p> <label>Введите Описание Файла:<br> <input type="text" name="description" id="description"> </label> </p> <p> <label>Введите Дату добавления:<br> <input type="text" name="date" id="date" value="пример: 2007-01-27"> </label> </p> <p> <label>Введите Размер файла:<br> <input type="text" name="size" id="size"> </label> </p> <p> <label>Выберите На какую страницу добавить:<br> </label> </p> <p> <label> </label> <label> <select name="filename" id="filename"> <option name="filename" value="properties">Информационный портал > Реквезиты</option> <option name="filename" value="contacts">Информационный портал > Контакты</option> <option name="filename" value="stat_progress">Информационный портал > Статистика развития</option> <option name="filename" value="feder_docs">Информационный портал > Нормативная база > Федеральные документы</option> <option name="filename" value="Reg_docs">Информационный портал > Нормативная база > Региональные документы</option> <option name="filename" value="in_docs">Информационный портал > Нормативная база > Внутренние документы</option> <option name="filename" value="analysis_blood">Исследования > Файлы отчета и отзывы</option> <option name="filename" value="analysis_v">Исследования > выживаемости и репродуктивной способности</option> <option name="filename" value="effect">Исследования > по эффективности</option> <option name="filename" value="Analysis_sertif">Исследования > Сертификация</option> <option name="filename" value="Proekt_ust">Ассоциации > Проект устава</option> </select> </label> </p> <p> <label>Введите Формат файла:<br> <input name="format" type="text" id="format" value="PDF" > </label> </p> <p> </p> <p> <label> <input type="submit" name="submit" id="submit" value="Занести в базу"> </label> </p> </form> |
Передо мной задача : Нужно в эту форму добавить "Загрузить файл" (Обзор). Сам скрипт загрузки файла я сделаю, Но как сделать чтобы автоматически заносился в БД путь к файлу (относительно корневой папки сайта) ?
З.Ы. в ПХП новичек..
Спустя 26 минут, 13 секунд (21.10.2009 - 01:47) kirik написал(а):
Цитата (vedmak777 @ 20.10.2009 - 17:21) |
Но как сделать чтобы автоматически заносился в БД путь к файлу |
Автоматически - никак, ты должен сам делать запрос на добавление. Тем более заносить в БД путь до файла не лучший вариант, так как это повлечет за собой некислые изменения, если ты вдруг решишь переименовать какую-нибудь из папок или изменить систему хранения файлов.
Спустя 6 минут, 22 секунды (21.10.2009 - 01:54) vedmak777 написал(а):
Как это можно осуществить, т.е. чтобы админ будущего сайта, нажал на кнопочку добавить файл увидел форму , заполнил поля, нажал "обзор" нашел нужный файл , и он добавился на страницу сайта , а Путь к файлу как занести в БД на этом этапе ?
Спустя 10 минут, 29 секунд (21.10.2009 - 02:04) kirik написал(а):
1. создаешь таблицу в БД
2. в скрипте подключаешься к БД серверу, выбираешь эту БД
3. делаешь запрос на вставку данных в таблицу
это нужно делать после того как файл будет загружен, а его путь известен.
2. в скрипте подключаешься к БД серверу, выбираешь эту БД
3. делаешь запрос на вставку данных в таблицу
это нужно делать после того как файл будет загружен, а его путь известен.
Спустя 4 минуты, 14 секунд (21.10.2009 - 02:08) vedmak777 написал(а):
ну это понятно, как скрипту узнать путь к файлу? и чтоб после загрузки файла на сервер, он занес этот самый путь в бд
Спустя 9 минут, 56 секунд (21.10.2009 - 02:18) kirik написал(а):
Цитата (vedmak777 @ 20.10.2009 - 18:08) |
как скрипту узнать путь к файлу |
Гм.. ну путь до файла заранее известен, иначе куда ты его загружаешь?
Спустя 3 минуты, 55 секунд (21.10.2009 - 02:22) vedmak777 написал(а):
уф, Сервер стоит в одном месте , Будущий админ сайта в другом (Админ "дерево") он должен зайти , просто заполнить поля формы, т.е. выбрать на какую страницу добавиться файл , описание файла, Тип и т.д. там же будет форма загрузки файла, с компа админа файл сохраниться на сервер + запишеться путь до него в бд
Спустя 1 минута, 38 секунд (21.10.2009 - 02:24) vedmak777 написал(а):
На странице куда Добавляються файлы, Информация выводиться в Цикле из БД, создаеться ссылка ..
Спустя 7 часов, 40 минут, 17 секунд (21.10.2009 - 10:04) glock18 написал(а):
Цитата |
Админ "дерево" |
судя по вашим формулировкам, я бы воздержался от таких высказываний.
по теме:
1. делаете необходимую форму с загрузкой файлов.
2. в обработчике получаете инфу по загруженному файлу (там путь, тип, размер и реальное имя), переписываете файл куда надо. формируете на основе полученных данных запрос для вставки, и пишете в базу.
Спустя 56 минут, 51 секунда (21.10.2009 - 11:01) vedmak777 написал(а):
меня интересовала вот ета переменная....
PHP |
"Путь к файлу/".$_FILES["filename"]["name"] |
Как это использовать чтобы занести весь путь в бд?
Спустя 1 час, 30 минут, 25 секунд (21.10.2009 - 12:31) Gram написал(а):
Сегодня начнется обсуждение конкурса. Там вы наглядно увидите что и как делается и какие подводные камни можете встретить.
Спустя 12 минут, 15 секунд (21.10.2009 - 12:44) vedmak777 написал(а):
Спустя 1 час, 3 минуты, 18 секунд (21.10.2009 - 13:47) Krevedko написал(а):
если путь к файлу всегда один и тот же, то зачем его запоминать ?
пиши туда только $_FILES["filename"]["name"] ....название файла стало быть.
Я в конкурсе так и сделал. Потом просто вытаскивал 'pics/'.$row['pics']
в цикле.
Можно сделать, чтобы в нужной папке создавал еще папку с текущей датой...и туда пихал ....хотел так сделать, но стало лень.
пиши туда только $_FILES["filename"]["name"] ....название файла стало быть.
Я в конкурсе так и сделал. Потом просто вытаскивал 'pics/'.$row['pics']
в цикле.
Можно сделать, чтобы в нужной папке создавал еще папку с текущей датой...и туда пихал ....хотел так сделать, но стало лень.
Спустя 9 часов, 21 минута, 15 секунд (21.10.2009 - 23:08) vedmak777 написал(а):
я уже голову сломал , выдает :
Вы ввели не всю информацию, поэтому файл в базу не может быть добален
моя форма :
Вы ввели не всю информацию, поэтому файл в базу не может быть добален
моя форма :
HTML |
<form name="form1" method="POST" action="add.php" enctype="multipart/form-data"> <p> <label>Введите Описание Файла:<br> <input type="text" name="description" id="description"> </label> </p> <p> <label>Введите Дату добавления:<br> <input type="text" name="date" id="date" value="пример: 2007-01-27"> </label> </p> <p> <label>Введите Размер файла:<br> <input type="text" name="size" id="size"> </label> </p> <p> <label>Введите На какую страницу добавить:<br> </label> </p> <p> <label> </label> <label> <select name="filename" id="filename"> <option name="filename" id="filename" value="properties">Информационный портал > Реквезиты</option> <option name="filename" id="filename" value="contacts">Информационный портал > Контакты</option> <option name="filename" id="filename" value="stat_progress">Информационный портал > Статистика развития</option> <option name="filename" id="filename" value="feder_docs">Информационный портал > Нормативная база > Федеральные документы</option> <option name="filename" id="filename" value="Reg_docs">Информационный портал > Нормативная база > Региональные документы</option> <option name="filename" id="filename" value="in_docs">Информационный портал > Нормативная база > Внутренние документы</option> <option name="filename" id="filename" value="analysis_blood">Исследования > Файлы отчета и отзывы</option> <option name="filename" id="filename" value="analysis_v">Исследования > выживаемости и репродуктивной способности</option> <option name="filename" id="filename" value="effect">Исследования > по эффективности</option> <option name="filename" id="filename" value="Analysis_sertif">Исследования > Сертификация</option> <option name="filename" id="filename" value="Proekt_ust">Ассоциации > Проект устава</option> </select> </label> </p> <p> <label>Введите Формат файла:<br> <input name="format" type="text" id="format" value="PDF" > </label> </p> <p> <label>Выберите файл для добавления</label> </p> <label><input type="file" name="text"> <br> <p> <label> <input type="submit" name="submit" id="submit" value="Занести в базу"> </label> </p> </form> |
Обработчик:
PHP |
if (isset($_POST['size'])) {$size = $_POST['size']; if ($size == '') {unset($size);}} |
Спустя 21 минута, 20 секунд (21.10.2009 - 23:30) Krevedko написал(а):
мне интересно...в каких случаях он должен выдавать
{echo "<p>Ваш файл не добален!</p>";}
а в каких
echo "<p>Вы ввели не всю информацию, поэтому файл в базу не может быть добален.</p>";
???
{echo "<p>Ваш файл не добален!</p>";}
а в каких
echo "<p>Вы ввели не всю информацию, поэтому файл в базу не может быть добален.</p>";
???
Спустя 4 минуты, 4 секунды (21.10.2009 - 23:34) vedmak777 написал(а):
PHP |
if (isset($size) && isset($format) && isset($date) && isset($description) && isset($text) && isset($filename)) |
неуказаны , то
PHP |
echo "<p>Вы ввели не всю информацию, поэтому файл в базу не может быть добален.</p>"; |
а если
PHP |
if ($result == 'false') |
Это
PHP |
echo "<p>>Ваш файл не добален!.</p>"; |
В чем ошибка кода ? почему переменная Text Пустая ..
Спустя 2 минуты, 43 секунды (21.10.2009 - 23:36) lawbreaker написал(а):
PHP |
if (isset($_POST['size'])) {$size = $_POST['size']; if ($size == '') {unset($size);}} |
Спустя 3 минуты, 29 секунд (21.10.2009 - 23:40) Krevedko написал(а):
а..вижу..синтаксис жуть конечно
Спустя 1 минута, 18 секунд (21.10.2009 - 23:41) lawbreaker написал(а):
vedmak777
говори что у теббя там, пошло ?
говори что у теббя там, пошло ?
Спустя 30 секунд (21.10.2009 - 23:42) Krevedko написал(а):
выведи
$size $format $date $description $text $filename
через эху.
да посмотри чему они у тебя равны
$size $format $date $description $text $filename
через эху.
да посмотри чему они у тебя равны
Спустя 1 минута, 31 секунда (21.10.2009 - 23:43) vedmak777 написал(а):
PHP |
if (isset($_POST['size'])) {$size = $_POST['size']; if ($size == '') {unset($size);}} |
Файл сохранился в папке temp , но в БД ничего не записалось,
Выдает : Ваш файл не добален!
Спустя 2 минуты, 33 секунды (21.10.2009 - 23:46) lawbreaker написал(а):
PHP |
if (isset($_POST['size'])) {$size = $_POST['size']; if ($size == '') {unset($size);}} |
скажы какую ашыбку выдаёт
Спустя 56 секунд (21.10.2009 - 23:47) vedmak777 написал(а):
Цитата |
Файл сохранился в папке temp , но в БД ничего не записалось, Выдает : Ваш файл не добален! |
Спустя 2 минуты, 26 секунд (21.10.2009 - 23:49) lawbreaker написал(а):
PHP |
if (isset($_POST['size'])) {$size = $_POST['size']; if ($size == '') {unset($size);}} |
Спустя 2 минуты, 26 секунд (21.10.2009 - 23:51) vedmak777 написал(а):
PHP |
$result = mysql_query ("INSERT INTO adds (size,format,date,filename,description,text) VALUES ('$size', '$format','$date','$filename', |
При таком коде , выдает :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.Array[name]' at line 2
Спустя 2 минуты, 4 секунды (21.10.2009 - 23:54) lawbreaker написал(а):
PHP |
$result = mysql_query ("INSERT INTO `adds` (`size`,`format`,`date`,`filename`,`description`,`text`) VALUES ('".$size."', '".$format."','".$date."','".$filename."', |
пробуй ВОТ ЕТО !!!
Спустя 58 секунд (21.10.2009 - 23:55) vedmak777 написал(а):
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Спустя 3 минуты, 26 секунд (21.10.2009 - 23:58) lawbreaker написал(а):
млять. ....
профи помогайте, я уже не врубаюся где ошыбка
профи помогайте, я уже не врубаюся где ошыбка
Спустя 4 минуты, 45 секунд (22.10.2009 - 00:03) lawbreaker написал(а):
PHP |
$filewsf=$_FILES[text][name]; |
Спустя 6 минут, 48 секунд (22.10.2009 - 00:10) vedmak777 написал(а):
При таком запросе
PHP |
$filewsf=$_FILES[text][name]; |
ошибка :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2
а при таком :
PHP |
$filewsf=$_FILES[text][name]; |
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.4.jpg' at line 2
Спустя 2 минуты, 21 секунда (22.10.2009 - 00:12) lawbreaker написал(а):
vedmak777
тебе остаётсо только пробывать поразному ставить и скобки убирать , добавлять пока не найдёш ошыбку
тебе остаётсо только пробывать поразному ставить и скобки убирать , добавлять пока не найдёш ошыбку
Спустя 8 секунд (22.10.2009 - 00:12) Krevedko написал(а):
INSERT INTO `adds` SET `size`= '" . $size . "',
`format`= '" . $format . "',
..................итд
`format`= '" . $format . "',
..................итд
Спустя 1 минута, 38 секунд (22.10.2009 - 00:14) lawbreaker написал(а):
Krevedko
ты хоть и лучше меня в ПХП, но ето не правильно то что ты написал только что.
аж никапельки не правильно...
SET используют если нужо заменить запись, и если ты ето используеш
нужно и ето делать
WHERE
что бы знать какую Запись изменять
ты хоть и лучше меня в ПХП, но ето не правильно то что ты написал только что.
аж никапельки не правильно...
SET используют если нужо заменить запись, и если ты ето используеш
нужно и ето делать
WHERE
что бы знать какую Запись изменять
Спустя 7 минут, 39 секунд (22.10.2009 - 00:21) Krevedko написал(а):
чтобы заменить запись юзают UPDATE
Спустя 4 минуты, 26 секунд (22.10.2009 - 00:26) lawbreaker написал(а):
Krevedko
и приетом изпульзую СЕТ
а ИНСЕРТ + СЕТ никак вместе не сойдуста...
или я не прав ?
и приетом изпульзую СЕТ
а ИНСЕРТ + СЕТ никак вместе не сойдуста...
или я не прав ?
Спустя 4 минуты, 31 секунда (22.10.2009 - 00:30) Krevedko написал(а):
ну каким-то образом я использую эту связку уже несколько месяцев...и работает, вот что странно )
Спустя 1 минута, 58 секунд (22.10.2009 - 00:32) vedmak777 написал(а):
PHP |
$filewsf=$_FILES[text][name]; |
Выдает :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.documents.pdf' at line 2
Спустя 18 минут, 32 секунды (22.10.2009 - 00:51) vedmak777 написал(а):
Помогите кто то ..
Спустя 15 минут, 53 секунды (22.10.2009 - 01:07) Krevedko написал(а):
мое пробовал ?
Спустя 1 минута, 51 секунда (22.10.2009 - 01:08) vedmak777 написал(а):
да , ошибку тоже выдает
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2
вроде
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2
вроде
Спустя 4 минуты, 39 секунд (22.10.2009 - 01:13) Krevedko написал(а):
и что же во второй строке было ?
Спустя 1 минута, 27 секунд (22.10.2009 - 01:15) vedmak777 написал(а):
Сейчас вот такое :
PHP |
$filewsf=$_FILES[text][name]; |
ошибка та же самая :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2
Спустя 1 минута, 46 секунд (22.10.2009 - 01:16) twin написал(а):
HTML |
<option name="filename" id="filename" |
так разве бывает? причем у всех одинаково...
Спустя 2 минуты, 13 секунд (22.10.2009 - 01:19) vedmak777 написал(а):
ну раскрывающйся списочек, переменная одна , value разные , разве тут в этом проблема?
Спустя 1 минута, 4 секунды (22.10.2009 - 01:20) twin написал(а):
Напиши первой строчкой print_r($_POST); и посмотри что там есть.
Спустя 1 минута, 52 секунды (22.10.2009 - 01:21) vedmak777 написал(а):
Array ( [description] => TestFile [date] => 2007-01-27 [size] => 144mb [filename] => analysis_blood [format] => PDF [submit] => Занести в базу )
Спустя 3 минуты, 8 секунд (22.10.2009 - 01:25) twin написал(а):
'../temp/'.$filewsf" это что такое?
Спустя 38 секунд (22.10.2009 - 01:25) vedmak777 написал(а):
$filewsf=$_FILES[text][name];
Спустя 36 секунд (22.10.2009 - 01:26) twin написал(а):
Апостроф там почему я спросил...
Спустя 2 минуты, 10 секунд (22.10.2009 - 01:28) vedmak777 написал(а):
его не должно быть ? или где он должен быть?
я не могу понять где ошибка
я не могу понять где ошибка
Спустя 39 секунд (22.10.2009 - 01:29) Krevedko написал(а):
по моему имху там все правильно
только вот похоже он думает что экранирование
только вот похоже он думает что экранирование
Спустя 3 минуты, 57 секунд (22.10.2009 - 01:33) twin написал(а):
Ну что за паника...
PHP |
$filewsf = $_FILES['text']['name']; |
Спустя 1 минута, 31 секунда (22.10.2009 - 01:34) vedmak777 написал(а):
PHP |
$filewsf = $_FILES['text']['name']; |
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4
Спустя 3 минуты, 31 секунда (22.10.2009 - 01:38) twin написал(а):
Нука дай сюда дамп
Спустя 1 минута, 27 секунд (22.10.2009 - 01:39) vedmak777 написал(а):
эмм, таблицы бд ?
Спустя 6 секунд (22.10.2009 - 01:39) twin написал(а):
Ёпрст, скобки же нету
PHP |
$filewsf = $_FILES['text']['name']; |
Спустя 1 минута, 49 секунд (22.10.2009 - 01:41) vedmak777 написал(а):
twin
О да !
Огромное спасибо тебе !, Чуть башка не лопнула, выручил
О да !
Огромное спасибо тебе !, Чуть башка не лопнула, выручил
Спустя 1 минута (22.10.2009 - 01:42) vedmak777 написал(а):
Блин Глаза замылились уже с етим скриптом , нефига незаметил