Каталог фотографий

Статус
В этой теме нельзя размещать новые ответы.

csmonitoring

Создатель
Регистрация
26 Июн 2008
Сообщения
33
Реакции
0
Здравствуйте, нужна "помощь" в создании каталога фотографий...
Ситуация такая, пользователь видит форму
HTML:
<form id="form1" name="form1" method="post" action="">
с обьектами
HTML:
<input name="dir_name" type="text" id="dir_name" value="0000-000-0000" />
и
HTML:
<input type="submit" name="button" id="button" value="Загрузить фотографию" />
Нужно заставить скрипт создавать каталог с именем указавшим пользователем в "текстовом поле"
PHP:
mkdir($dir_name,0755)
и при всем этом дать пользователю возможность через веб-форму загружать файлы *.jpg, *.jpeg, *.bmp и тд. (одновременно от 1 и до 25)

Форму создал, а вот как заставить кнопку выполнить мои действия не представляю :(
 
  • Заблокирован
  • #3
смотрим в сторону php или любого другого вэб языка программирования
 
Форму создал, а вот как заставить кнопку выполнить мои действия не представляю :(
У Вас не указан в форме enctype, допишите в теге форм аттрибут:
HTML:
enctype="multipart/form-data"

Если он не будет указан, Вы не сможете загружать файлы ...

Что-бы добавить несколько файлов, Вам нужно использовать javascript:
HTML:
<script type="text/javascript">
function create_element(element_name,append_to,attributes) {
	var El=document.createElement(element_name);
	if (typeof(attributes)=="object") {
		for (i=0;i<attributes.length;i++) {
			xxx=attributes[i].split("=");
			attributName=xxx[0];
			attributVal=xxx[1];
			El.setAttribute(attributName,attributVal);
		}
	}
	myElement=append_to.appendChild(El);
	return myElement;
}

function add_pic_input() {
	myContainer = document.getElementById('pictures');
	create_element('br',myContainer);
	create_element('input',myContainer,["type=file", "name=new_pic[]","size=70"]);
	}
</script>
Этот код вставляете после тега body

Дальше, в форме делаете следующее:
1) Добавляете div с id = pictures
HTML:
<div id='pictures'></div>

и добавляете кнопку:
HTML:
<input type=button name='addPic' onclick='add_pic_input()' value='добавить фото'>

Ну, а обработчик формы:
PHP:
<?php 
if (isset($_POST['button'])) {
	// вообще это отфильтровать нужно, но да ладно )
	$dir_name = "./" . $_POST['dir_name'];
	mkdir($dir_name,0755);
	$num_pics = count($_FILES['new_pic']['tmp_name']);
	for ($i = 0; $i < $num_pics; $i++) {
		// вобще тут и тип файла желатеьно бы проверит, но да ладно )
		if ($_FILES['new_pic']['size'][$i]!=0) {
			// копируем файл на сервер
			if (!move_uploaded_file($_FILES['new_pic']['tmp_name'][$i],$dir_name . '/' . $_FILES['new_pic']['name'][$i])) echo $_FILES['new_pic']['name'][$i] . " - не загружена <br>"; 
		}
	
	}
	// перенапрявляем на нужную страницу
	header("Location: /");

}
?>
Сохраните этот файл как, например handler.php и в форме в атрибуте action укажите путь к нему (сейчас он в корне сайта:(
HTML:
action="/handler.php"

Но я Вам не рекомендую использовать этот код .. Он всего лишь наглядно показывает как загружать файлы на сервер, доработайте его на проверки вводимых данных и все такое ...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху