Вот пример реализовал загрузку картинок на сайт 
как видно ниже  формат указан как то странно 
что нужно написать вместо  ]['type']=='image/png')
чтобы грузить  avi
 video/avi 
не работает ... что совсем не пойму куда двигаться как ограничивать формат и размер
Сервер: 
<?php
$id_user = $_POST['id_user'];
$response	=	'';
//если файл загрузился без ошибки
if ($_FILES['imgfile']['error']==0){
	//и тип файла - изображение
	if (($_FILES['imgfile']['type']=='image/png')||(($_FILES['imgfile']['type']=='image/jpeg'))||($_FILES['imgfile']['type']=='image/gif')){
	
		$filename	=	'./img/'.$id_user.'.jpg';
		//копируем с проверкой
		if (copy($_FILES['imgfile']['tmp_name'], $filename)){
			//если скопировалось - заносим в переменную тег изображения (это уже на ваше усмотрение - можете просто сообщение вывести)
			
		}else{
			//если файл не скопировался...
			$response	=	'<span style="color:red;">Невозможно скопировать файл! Проверьте доступ на запись к папке!</span>';
		}
	}else{
		//если файл не картинка...
		$response	=	'<span style="color:red;">Некорректный тип файла! Используйте PNG, JPEG или GIF</span>';
	}
}else{
	//если файл не загрузился на сервер
	$response	=	'<span style="color:red;">Невозможно загрузить файл! Возможно, превышен максимальный размер файла</span>';
}
//вывод. Выводим Javascript
echo '<script language="JavaScript">';
//в родительском документе ищем элемент с айдишником image и вписываем в него результат действий нашего скрипта
echo '</script>';
?>