загрузка двух файлов на сервер

pronax

Постоялец
Регистрация
20 Сен 2008
Сообщения
147
Реакции
10
Нужно в одной форме загрузить два файла разного типа: картинку и xls
есть стандартная форма
PHP:
<form  method="post" name="registration" enctype="multipart/form-data">
<input type="file" name="image" style="width:150px; height:18px" class="f_input" />
<input type="file" name="xls" style="width:150px; height:18px" class="f_input" />
</form>
Если грузить одну картинку, то все ок
PHP:
	$image = getimagesize($_FILES['image']['tmp_name']);
	if($image['mime'] != 'image/gif' && $image['mime'] != 'image/jpeg' && $image['mime'] != 'image/png' && $image['mime'] != 'image/jpg') {
	$stop .= "<li>Было загружен файл не допустимого формата</li>";
	}
	if ($image['size'] > 100000)
	{
	$stop .= "<li>Размер изображения превышает допустимое значение</li>";
	}
		$uploaddir = 'uploads/fotos/';
		$uploadfile = $uploaddir . basename($_FILES['image']['name']);
		echo 'uploadfile' . $uploadfile . '<br>';
		echo 'tmpname' . $_FILES['image']['tmp_name'];         
		if (move_uploaded_file($_FILES['image']['tmp_name'], $uploadfile)) {
		$imagepath = basename($image);
        }
Если добавить проверку для xls файла:
PHP:
  	$xls = mime_content_type($_FILES['xls_upload']['tmp_name']);
	if($xls['mime'] != 'application/vnd.ms-excel' && $xls['mime'] != 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
	$stop .= "<li>Был загружен файл не допустимого формата</li>";
	}
	if ($xls['size'] > 100000){
	$stop .= "<li>Размер прайс-листа превышает допустимое значение</li>";
	}

$uploaddir_xls = 'uploads/xls/';
		$uploadfile_xls = $uploaddir_xls . basename($_FILES['xls_upload']['name']);
		echo 'uploadfile' . $uploadfile_xls . '<br>';
		echo 'tmpname' . $_FILES['xls_upload']['tmp_name'];         
		if (move_uploaded_file($_FILES['xls_upload']['tmp_name'], $uploadfile_xls)) {
		$xlspath = basename($xls);
        }
то на второй файл постоянно срабатыевает "Был загружен файл не допустимого формата"
как вообще в php можно два файла разного типа сразу загрузить?
 
А почему во второй проверке
$xls = mime_content_type($_FILES['xls_upload']['tmp_name']);
ведь исходя из формы отправки, если я не ошибаюсь, должно быть
$xls = mime_content_type($_FILES['xls']['tmp_name']);
ну и дальше по тексту также...
А вообще почитай рекомендации по отправке нескольких файлов
 
блин, вот я... спасибо, изначально там было "xls_upload", вот что делает невнимательность с людьми...
еще раз спасибо, ушел читать. А вообще если не массивом передавать данные, то такой способ как у меня можно считать правильным?

UPD кстати нет, это я только при перепечатки сюда накосячил... а так у меня в html указан xls_upload
 
Назад
Сверху