|
Автор |
Сообщение |
Лиза
Новенький
Зарегистрирован: 10.07.2008 Сообщения: 35
|
|
|
|
Спасибо большое! Работает
А еще, не подскажите, как добавить фото в бд? если я добавляю $myfile или $myfile_name, то выводится из бд, только текст(имя файла на сервере и имя на компе), а не изображение. или же бинарные выводить надо как-то поособенному? |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
Лучше всего в БД добавлять не бинарное содержимое, а просто имя файла на сервере. Из БД ты будешь получать, какую картинку выводить. Можно хранить и бинарный контент, потом выводить как картинку, но тогда тебе понадобится специальный сценарий, который будет играть роль "динамической картинки" и намучаешься потом с экспортом, когда нужно будет перенести БД на другой сервер |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
Лиза
Новенький
Зарегистрирован: 10.07.2008 Сообщения: 35
|
|
|
|
Спасибо за помощь! |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
Не за что! |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
yok
Участник тусовки
Зарегистрирован: 06.02.2008 Сообщения: 260 Откуда: krasnodar
|
|
|
|
Доброго всем дня.
ХОчу из формы передавать переменные и фото.
Передача файла возможна только если <FORM ENCTYPE="multipart/form-data"
Правильно ли будет таковое и для всех остальных переменных. Через одну форму передача будет идти.
Тут http://www.w3.org/TR/html401/interact/forms
пишут
<FORM action="http://server.dom/cgi/handle"
enctype="multipart/form-data"
method="post">
<P>
What is your name? <INPUT type="text" name="name_of_sender">
What files are you sending? <INPUT type="file" name="name_of_files">
</P>
</FORM>
значит правильно? Возможно передать? |
|
Вернуться к началу |
|
|
yok
Участник тусовки
Зарегистрирован: 06.02.2008 Сообщения: 260 Откуда: krasnodar
|
|
|
|
Синтаксис
<form enctype="MIME-тип">...</form>
Аргументы
Имя MIME-типа в любом регистре. Допускается устанавливать сразу несколько значений, разделяя их запятыми.
И также для других переменных кроме файл не обязательный параметр.
Тоесть можно если в форме передача фалов предполагается установить enctype="multipart/form-data" и достаточно.? |
|
Вернуться к началу |
|
|
yok
Участник тусовки
Зарегистрирован: 06.02.2008 Сообщения: 260 Откуда: krasnodar
|
|
|
|
Den, а допустим я закачал файл на сервер и сохраняю его в каталоге.
Что лучше,
1. copy
2. move_aploaded_file
3. ты уже написал как получить $content выше, просто потом открыть файл и записать в него $content.
Предполагаю что 3 вариант, самый плохой, лишние операции, но это было опробованно потому что соpy не получалось. Теперь получилось все. Я остановилься на move_aploaded_file, думаю для сервера лучше, ХОТЕЛОСЬ БЫ ЗНАТЬ ТВОЕ МНЕНИЕ. |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
move_uploaded_file лучше, поскольку она не только копирует файл, но и удаляет временный файл
третий вариант самый плохой, так как ты не напишешь функции лучше, чем copy или move_uploaded_file |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
yok
Участник тусовки
Зарегистрирован: 06.02.2008 Сообщения: 260 Откуда: krasnodar
|
|
|
|
Огромный респект Den. |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
yok, не за что |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
yok
Участник тусовки
Зарегистрирован: 06.02.2008 Сообщения: 260 Откуда: krasnodar
|
|
|
|
Добрый день !!!
Такое дело.
<?php
error_reporting(E_ALL);
if(isset($_POST['hid']))
{
if(!isset($_FILES['my_foto']))
{
echo "isset foto";
}
else
{
echo "not";
}
}
?>
<form enctype="multipart/form-data" method=POST action="<?php echo $_SERVER['PHP_SELF'] ?> ">
<input type="hidden" name="hid" value="h">
<input type="text" name="name">
<input type="file" name="my_foto">
<input type="submit" value="send">
</form>
Вопрос в том, что в любом случае, была ли указана фото или нет, всегда выведет наличие isset($_FILES['xxx'] при submit формы.
empty тоже не решает вопрос. |
|
Вернуться к началу |
|
|
yok
Участник тусовки
Зарегистрирован: 06.02.2008 Сообщения: 260 Откуда: krasnodar
|
|
|
|
извините в 5 строке if(isset($_FILES['my_foto'])) |
|
Вернуться к началу |
|
|
yok
Участник тусовки
Зарегистрирован: 06.02.2008 Сообщения: 260 Откуда: krasnodar
|
|
|
|
Как же проверить есть ли файл или нет. Без разбора массива FILES?? |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
проверить можно функцией file_exists() |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
yok
Участник тусовки
Зарегистрирован: 06.02.2008 Сообщения: 260 Откуда: krasnodar
|
|
|
|
Проверять функцией file_exists() наличие самого массива не получается. Ну и думаю это закономерно, ведь проверка file, а вот есть чтоб проверять сам массив. Я решил эту задачу, напрямую проверяется функцией file_exists() временный файл. Но вообще разве так проверяют программисты.
Я вот как
if(file_exists($FILES['my_foto']['tmp_name']))
Чтото я не нахожу кодов, поищу, ДЕН, скажи как правильно. |
|
Вернуться к началу |
|
|
|
|