|
|
|
| С Новым годом!
Есть две формы. Одна позволяет изменить название предприятия.
В другой - пользователь грузит свой логотип.
У пользователя есть свой id_pu
Надо объединить две формы. Чтобы была одна кнопка.
У пользователя в базе данных в поле logo прописан путь к его логотипу: img/logo_pu/его файл.jpg
Соотвественно, как надо прописывать путь в этой папке к вновь загруженному файлу
<form name="add" method='post' action='pu_add.php'>
<table width="650" cellspacing="5" cellpadding="5">
<tr>
<td width="200" valign="top"><b>Название организации:</b></td>
<td width="550" align="left" style='background-color:#f0f0f0'>
<input value= "<?php echo $_GET['title']; ?>" type="text"
name="title" size="80" style='border:1px solid red'>
</td>
</tr>
</table>
<input name="id_pu" type="hidden" value="<?php echo $_GET['id_pu']; ?>">
<label>
<input type="submit" name="submit" id="submit" value="Сохранить изменения">
<strong><font color="#FF0000">
Организация будет добавлена после проверки редактором сайта.</font></strong>
</label>
</form>
|
<?php
/**
* Function of uploaded of a file
* Функция загрузки файла (аплоадер)
* @param int $max_file_size максимальный размер файла в килобайтах
* @param array $valid_extensions массив допустимых расширений
* @param string $upload_dir директория загрузки
* @return array сообщение о ходе выполнения
*
* @author IT studio IRBIS-team (www.irbis-team.com)
* @copyright © 2009 IRBIS-team
*/
function uploadHandle($max_file_size = 100, $valid_extensions = array(), $upload_dir = '.')
{
$error = null;
$info = null;
$max_file_size *= 1024;
if ($_FILES['userfile']['error'] === UPLOAD_ERR_OK)
{
// проверяем расширение файла
$file_extension = pathinfo($_FILES['userfile']['name'], PATHINFO_EXTENSION);
if (in_array($file_extension, $valid_extensions))
{
// проверяем размер файла
if ($_FILES['userfile']['size'] < $max_file_size)
{
$destination ="img/logo_pu/" . $_FILES['userfile']['name'];
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $destination))
$info = 'Файл успешно загружен';
else
$error = 'Не удалось загрузить файл';
}
else
$error = 'Размер файла больше допустимого';
}
else
$error = 'У файла недопустимое расширение';
}
else
{
// массив ошибок
$error_values = array(
UPLOAD_ERR_INI_SIZE =>
'Размер файла больше разрешенного директивой upload_max_filesize в php.ini',
UPLOAD_ERR_FORM_SIZE =>
'Размер файла превышает указанное значение в MAX_FILE_SIZE',
UPLOAD_ERR_PARTIAL => 'Файл был загружен только частично',
UPLOAD_ERR_NO_FILE => 'Не был выбран файл для загрузки',
UPLOAD_ERR_NO_TMP_DIR => 'Не найдена папка для временных файлов',
UPLOAD_ERR_CANT_WRITE => 'Ошибка записи файла на диск'
);
$error_code = $_FILES['userfile']['error'];
if (!empty($error_values[$error_code]))
$error = $error_values[$error_code];
else
$error = 'Случилось что-то непонятное';
}
return array('info' => $info, 'error' => $error);
}
/////////////////////////////////////////////////////////////////////
$extensions = array('jpg', 'jpeg', 'png', 'gif');
$upload_dir = 'images';
// Запускаем функцию
if(!empty($_POST['upload_submit']))
{
$message = uploadHandle(200, $extensions, $upload_dir);
// Выводим сообщение
echo $message['error'] ? $message['error'] : $message['info'];
}
?>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="userfile" />
<input type="submit" value="Закачать" name="upload_submit" />
</form>
<?php
echo '<pre>';
print_r($_FILES['userfile']);
echo '</pre>';
?>
|
| |
|
|
|
|
|
|
|
для: Василий
(03.01.2012 в 16:54)
| | Для начала надо получить имя нового файла, а потом заменить им имя старого файла.
Вот и всё. | |
|
|
|
|
|
|
|
для: Slo_Nik
(03.01.2012 в 17:25)
| | а формы как объединить? | |
|
|
|
|
|
|
|
для: Василий
(03.01.2012 в 17:26)
| | Насколько я помню, Вам уже писали как.
Объединить формы не главное, главное объединить обработчик...
Вы имеете представление как создаётся форма на html? Если да, то вопрос об объединении форм отпадает сам сабой, если же нет, то изучите как создаются формы. | |
|
|
|
|
|
|
|
для: Slo_Nik
(03.01.2012 в 17:41)
| | отвечали. скрипт новый теперь | |
|
|
|
|
|
|
|
для: Василий
(03.01.2012 в 18:45)
| | да какая разница?!
скрипт это php
а формы это html
может Вам надо объединить обработчик? тогда к формам Ваш вопрос не имеет ни какого отношения | |
|
|
|
|
|
|
|
для: Slo_Nik
(03.01.2012 в 19:01)
| | обработчик пока не просил )))
прошу объединить формы | |
|
|
|
|
|
|
|
для: Василий
(03.01.2012 в 19:10)
| | Вы можете сами создать форму с использованием html ? | |
|
|
|
|
|
|
|
для: Slo_Nik
(03.01.2012 в 19:12)
| | они уже созданы. см. первый пост.
нужно из 2-х форм составить одну.
Если написал об этом значит не могу. Если не могу - значит читай Мануал? | |
|
|
|
|
|
|
|
для: Василий
(03.01.2012 в 19:23)
| | не пойму Вас, если Вы сами создали первые две формы, то почему у Вас вызывает сложность создать одну, общую форму?
одна форма, два поля, одно для названия предприятия, второе для выбора файла.
<form>
Первое поле для названия предприятия
Второе поля для выбора файла
Третье, скрытое поле, для id предприятия
кнопка отправки формы
</fotm>
|
Разве это так сложно? | |
|
|
|
|
|
|
|
для: Slo_Nik
(03.01.2012 в 19:26)
| | главное, не забыть у новой формы поставить enctype="multipart/form-data" | |
|
|
|
|
|
|
|
для: elenaki
(03.01.2012 в 19:28)
| | Я то это знаю, а вот автору поста надо это напомнить неоднократно....
>Если не могу - значит читай Мануал?
Да!!! И не только читать, но и пробовать самому сделать!!!
И если что то не получается, то показываете свой код, не копированный откуда то, и возможно Вам помогут. | |
|
|
|
|
|
|
|
для: Slo_Nik
(03.01.2012 в 19:29)
| | Прошу проверить
<?php
/**
* Function of uploaded of a file
* Функция загрузки файла (аплоадер)
* @param int $max_file_size максимальный размер файла в килобайтах
* @param array $valid_extensions массив допустимых расширений
* @param string $upload_dir директория загрузки
* @return array сообщение о ходе выполнения
*
* @author IT studio IRBIS-team (www.irbis-team.com)
* @copyright © 2009 IRBIS-team
*/
function uploadHandle($max_file_size = 100, $valid_extensions = array(), $upload_dir = '.')
{
$error = null;
$info = null;
$max_file_size *= 1024;
if ($_FILES['userfile']['error'] === UPLOAD_ERR_OK)
{
// проверяем расширение файла
$file_extension = pathinfo($_FILES['userfile']['name'], PATHINFO_EXTENSION);
if (in_array($file_extension, $valid_extensions))
{
// проверяем размер файла
if ($_FILES['userfile']['size'] < $max_file_size)
{
$destination ="img/logo_pu/" . $_FILES['userfile']['name'];
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $destination))
$info = 'Файл успешно загружен';
else
$error = 'Не удалось загрузить файл';
}
else
$error = 'Размер файла больше допустимого';
}
else
$error = 'У файла недопустимое расширение';
}
else
{
// массив ошибок
$error_values = array(
UPLOAD_ERR_INI_SIZE =>
'Размер файла больше разрешенного директивой upload_max_filesize в php.ini',
UPLOAD_ERR_FORM_SIZE =>
'Размер файла превышает указанное значение в MAX_FILE_SIZE',
UPLOAD_ERR_PARTIAL => 'Файл был загружен только частично',
UPLOAD_ERR_NO_FILE => 'Не был выбран файл для загрузки',
UPLOAD_ERR_NO_TMP_DIR => 'Не найдена папка для временных файлов',
UPLOAD_ERR_CANT_WRITE => 'Ошибка записи файла на диск'
);
$error_code = $_FILES['userfile']['error'];
if (!empty($error_values[$error_code]))
$error = $error_values[$error_code];
else
$error = 'Случилось что-то непонятное';
}
return array('info' => $info, 'error' => $error);
}
/////////////////////////////////////////////////////////////////////
$extensions = array('jpg', 'jpeg', 'png', 'gif');
$upload_dir = 'images';
// Запускаем функцию
if(!empty($_POST['upload_submit']))
{
$message = uploadHandle(200, $extensions, $upload_dir);
// Выводим сообщение
echo $message['error'] ? $message['error'] : $message['info'];
}
?>
<form name="add" method='post' action='pu_add.php' enctype="multipart/form-data">
<table width="650" cellspacing="5" cellpadding="5">
<tr>
<td width="200" valign="top"><b>Название организации:</b></td>
<td width="550" align="left" style='background-color:#f0f0f0'>
<input value= "<?php echo $_GET['title']; ?>" type="text"
name="title" size="80" style='border:1px solid red'>
</td>
<td>
<input type="file" name="userfile" />
<input type="submit" value="Закачать" name="upload_submit" />
</td>
</tr>
</table>
<input name="id_pu" type="hidden" value="<?php echo $_GET['id_pu']; ?>">
<label>
<input type="submit" name="submit" id="submit" value="Сохранить изменения">
<strong><font color="#FF0000">
Организация будет добавлена после проверки редактором сайта.</font></strong>
</label>
</form>
|
| |
|
|
|
|
|
|
|
для: Василий
(03.01.2012 в 19:34)
| | а что мне тут проверять?
а php код проверяйте тоже сами, он или работает или нет.
вот когда не будет работать, пишите, какие есть ошибки/предупреждения/замечания.......
Вообще то Вы пробовали хотя бы запустить Ваш код в браузере?
Видели две кнопки?
а зачем две? | |
|
|
|
|
|
|
|
для: Slo_Nik
(03.01.2012 в 19:37)
| | ну, он же ДВЕ формы объединяет. было бы три формы - оставил бы все три сабмита... | |
|
|
|
|
|
|
|
для: elenaki
(03.01.2012 в 19:40)
| | Это понятно, а ещё понятно то, что не хочет человек чуть подумать, просто копирует тупо и всё....
ведь вопрос то элементарный....
Да и в другую ветку форума ему надо с этим вопросом.
Повторю ещё раз для автора поста
<form>
Первое поле для названия предприятия
Второе поля для выбора файла
Третье, скрытое поле, для id предприятия
кнопка отправки формы
</fotm>
|
| |
|
|
|