Como lo hace Wordpress

pero todo con PHP5 y MySQL

peo quiero hacerlo a mano paso a paso, saber como y porque cada script necesario u orientación.
Quisiera hacer esto no se el orden si alguien me puede ayudar con algunos script php5 paso a paso ya que soy principiante cero
1) Registrarse como usuario y subir de cero hasta cuatro imágenes a una carpeta creada por año, mes y día (ejemplo de directorio /upfile/2008/enero/23/image156.jpg + thumbnail156.jpg), renombrar la foto auto-incrementando el valor de la ultima que esta en la carpeta.
2) Validar tipo y tamaño de archivo a subir (solo jpg de 640 x 480 o reducirla si es más grande y crear una thumbnail de 75 x 56).
3) Verificar que la carpeta no este creada pues crearla o usarla; si un día no hubo upfiles no crear carpetas vacías. Que permiso chmod debe darse a la carpeta y al archivo (777).
4) Guardar un vinculo a la imagen con el usuario en una base de datos MySQL. Alguna seguridad adicional.
5) Como un usuario no registrado puede ver esa imagen vinculada a su autor y sus datos visibles como una pagina de clasificados por ejemplo. Como llamar a las thumbnail a paginarse en una galeria con código javascript que hará un carrusel 3D con reflexion de imagenes a ampliar a pantalla completa con un clic del mouse (este código java ya lo tengo, me falta todo lo anterior en PHP5)