- preg_match: documentation ( source)
<?php
preg_match('/^.+(?!(\.php|\.exe))$/i','test.PHP');
preg_match('/^.+(?!(\.php|\.exe))$/i','test.php');
preg_match('/^.+(?!(\.php|\.exe))$/i','test.EXE');
preg_match('/^.+(?!(\.php|\.exe))$/i','test.exe');
preg_match('/^.+(?!(\.php|\.exe))$/i','test.zip');
preg_match('/^.+(?!(\.php|\.exe))$/i','test.ZIP');
preg_match('/^.+(?!(\.php|\.exe))$/i','test.ok');
preg_match('/^.+(?!(\.php|\.exe))$/i','test.OK');