The getimagesize() function will determine the size of any GIF, JPG, PNG, SWF, SWC, PSD, TIFF, BMP, IFF, JP2, JPX, JB2, JPC, XBM, or WBMP image file and return the dimensions along with the file type and a height/width text string to be used inside a normal HTML IMG tag.
Tratto da http://it2.php.net/function.getimagesize

In pratica fai
$imgArray = getimagesize($tuofile);
$larghezza = $imgArray[0];
$altezza= $imgArray[1];
$tipologia= $imgArray[3];

quindi:

if ($imgArray = getimagesize($tuofile)){
$larghezza = $imgArray[0];
$altezza = $imgArray[1];
$tipologia = $imgArray[3];
if ($tipologia == /*quelle che ti interessano*/){
/*poi metti un controllo sull dimensione dell'immagine: se ti interessano le dimensioni in pxl puoi usare le variabili sopracitate, altrimenti non saprei, cmq frugando fra le varie funzioni (magari quelle sull'apertura dei file, una fopen() penso, trovi qualcosa che ti può essere utile)*/
}else{
echo "tipo errato";
}

}else{
echo "non è una immagine";
}