It may be a problem where the user the web server is running as doesn't have permission to delete files. Without knowing any more about the symptoms it's hard to say (is $PHP_SELF defined?).
Meanwhile you have an enormous showstopping security hole in that it is possible for anyone to attempt to delete any file they want on your system. They probably won't have permission, but the risk is serious: you make no attempt to check that the content of $_GET['file'] is a file that the user is supposed to be able to delete.
Incidentally, those two calls to extract seem to be superfluous.