miros84 creo que tu problema está en como validas el tipo de archivo que se sube...
Seguramente compruebes así:
Código PHP:
if($_FILES['archivo']['type']=="image/jpeg") {... }
Es un método que por ejemplo enseñan en las FAQs de este foro y yo recomiendo no lo usar ¡NUNCA!.
Ahí compruebas el MIME del archivo y es lo que te envia el navegador del usuario, por lo que el usuario puede modificar su navegador para que por ejemplo los archivos .php tengan el MIME type image/jpeg por lo que se subiría a tu web y luego podría ejecutarlo...
Lo más seguro es que uses como comprobación del tipo de archivo la extensión, porque sabes que un archivo .jpg nunca será ejecutado en su servidor (a no ser que esté mal configurado).
Un saludo ;)