Для начала делаем форму upload.html (в контейнере preview будет показываться миниатюрка):
$path = "uploads/"; // куда заливаем
$valid_formats = array("jpg", "png", "gif", "bmp","jpeg"); // допустимые форматы
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST") // пришел запрос
{
$name = $_FILES['photoimg']['name']; // имя файла
$size = $_FILES['photoimg']['size']; // размер файла
if(strlen($name))
{
list($txt, $ext) = explode(".", $name); // разбиваем на имя и формат
if(in_array($ext,$valid_formats)) // смотрим формат такой как мы разрешили?!
{
if($size<(1024*1024)) // Ограничиваем размер файла в 1 мб
{
$actual_image_name = time().$session_id.".".$ext; // задаем уникальное имя файлику
$tmp = $_FILES['photoimg']['tmp_name'];
if(move_uploaded_file($tmp, $path.$actual_image_name)) // переносим файл с tmp в наш каталог
{
echo "
"; // показываем привьюшку
}
else echo "облом";
}
else echo "Размер файла больше одного мб";
}
else echo "Формат не подходит.";
}
else echo "Пожалуйста выбирите изображение!";
exit;
}
А что бы это все было аяксовым подключаем jquery и jquery.form (http://jquery.malsup.com/form/)