Originariamente inviato da softhare
Nel tuo esempio troverai in

$_FILES['foto1']['type'];

la stringa mime che descrive il tipo di file.
Farai quindi un confronto di tale stringa con i valori mime che ti interessano (es: "application/pdf") e procedereai (move_uploaded...) solo se si tratta di uno dei tipi consentiti.
Con quel sistema verifichi solo il mime type fornito dal browser, che coincide con l'estensione del nome del file. Se vuoi la certezza devi analizzare direttamente il file.
Che versione di php usi, e su che sistema?