Just break down and use Zend Encoder or Ioncube and install the extension on their server. Both encoders essentially turn your PHP code into byte-code so that when someone opens the application all they see is a garbled mess, except for the top few lines which states that they need the Zend Encoder to run it.
Now, this brings up the question of legality. Who owns the code? Is it the contractor or the supplier? If you didn't write a contract out, what does your state, country, county, province say is correct? I bring this up because if you encode the files (or remove them from the server) and they retaliate with a legal battle, are you in the clear or is it their code? And when does that transfer of ownership take place? The second it's on their server or after payment?
An idea to help you stay away from this type of situation is to employ a new model for doing business. You develop the code, and give them access to a private area of your server. They can go in, see how it's progressing, add comments and make changes as needed, but they never see the code. Then when it's time to deploy, you ask them to pay you. If they don't pay you, you remove their access to the "demo" so they can't use it anymore (or just take it down). Also, in your written contracts explicitly define who gets what when. For example if I contracted with you to have a time management app written, I would pay you 1/2 up front, 1/2 at the end, and once I paid you, I would get all open-source code and rights to that code would transfer to me. You can set it up however you want. But just remember to get it in writing with a few signatures 😉
Personally, in your situation, I'd remove the entire site until they paid. Otherwise, later on down the road they'll come back and say hey, you did X for us, now do Y for $Z. Then when it comes time to pay, they'll remember they stiffed you before, they can do it again. If they don't want to pay, they don't want the product. It's essentially stealing (although the question of who owns what when still comes up).