When you deflate a string, don't forget that the deflated string might contain " or \ characters that will break any PHP code you embed it into. Consider either escaping those characters (using str_replace('"', '\"', str_replace('\', '\\', $gzstring)) ) or uu- or base64 encoding it before embedding.
I've got some obfuscated taglines that use each of these methods:
eval('eval("echo join(\'\', array_map(\'chr\',array_map(
\'bindec\', explode(\\" \\",wordwrap(strtr(preg_replace(\'/\\\\s/\',\\"\\"
,\'\\\\\'\\"\\\\\'\\\\\'\\"\\"\\\\\'\\\\\'\\\\\'\\"\\"\\\\\'\\"\\\\\'\\\\\'\\\\\'\\\\\'
\\"\\\\\'\\"\\"\\"\\\\\'\\"\\"\\"\\"\\"\\\\\'\\"\\"\\"\\"\\"\\\\\'\\\\\'\\\\\'\\"\\\\\'
\\\\\'\\\\\'\\"\\\\\'\\\\\'\\"\\\\\'\\\\\'\\\\\'\\\\\'\\\\\'\\\\\'\\\\\'\\"\\\\\'\\"\\"
\\\\\'\\\\\'\\"\\\\\'\\"\\"\\"\\\\\'\\\\\'\\"\\"\\\\\'\\"\\\\\'\\\\\'\\\\\'\\\\\'\\"\\"
\\\\\'\\"\\"\\\\\'\\"\\"\\"\\"\\"\\\\\'\\"\\\\\'\\"\\"\\"\\"\\\\\'\\"\\"\\\\\'\\"\\"\\"
\\\\\'\\"\\\\\'\\"\\"\\"\\"\\"\\\\\'\\"\\"\\"\\"\\"\\\\\'\\"\\\\\'\\"\\\\\'\\"\\"\\\\\'
\\\\\'\\"\\"\\"\\"\\\\\'\\\\\'\\\\\'\\"\\"\\\\\'\\\\\'\\\\\'\\\\\'\\\\\'\\"\\\\\'\\\\\'
\\"\\"\\\\\'\\\\\'\\"\\\\\'\\"\\"\\\\\'\\\\\'\\\\\'\\"\\\\\'\\\\\'\\\\\'\\"\\\\\'\\\\\'
\\"\\"\\\\\'\\"\\\\\'\'),\'\\\\\'\\"\',\\"10\\"),bindec(\'111\'),\' \',1)))));");');
$string='eJyLrq6tNhwoUBsbTS/r6WgVhs1cdLF6IHw4IKE6kFFJT5tHQO6gV97AsHagU
hDMfrp6e4R5d4CthVg9/Ip8+qciOts4zCvQ2lgA1L8GtA==';$string=gzuncompress(
base64_decode($string));$seventy=substr($string,4,4*4);while(strpos(
$string,$seventy)!==false)$string=str_replace('}{'.$seventy,'1}{',
$string);echo str_replace('z ' , '', ucwords(str_replace(']','',
str_replace('[','',strtr(urldecode(preg_replace('/[a-f\d]{2}/'
,'%$0',str_replace('}','' ,str_replace('{', '',preg_replace(
'{{(1*)}}e' , '"{" .dechex(strlen("$1"))."}"',$string)))))
,"\n", ' ' )))));
eval(base64_decode("ZXZhbChiYXNlNjRfZGVjb2RlKCJaWFpoYkNoaVlYTmxOalJmWkdWamI
yUmxLQ0phV0Zwb1lrTm9hVmxZVG14T2FsSm1Xa2RXYW1JeVVteExRMHBoVjBad2IxbHJUbTloVm
14WlZHMTRUMkZzU20xWGEyUlhZVzFKZVZWdGVFeFJNSEJvVm1wQk1XUnNiSFZpUlVwb1ZtMVNXV
lp0Y0VOVGJFcFdWMnBHV21Gck5WUlpha1ozVjFaT1dGcEdXbE5XTW1oVFZURldZVlV5UmtkaU0y
eHNVMFZLY0Zsc1dsZGpSbEY2V1hwc1VWVXdiSGRUTVZKNlVGTkpjRXRVY3owaUtTazciKSk7"))
but I thought there are some 1 file PHP self extracting install systems.
Have a look at the magic __[man]halt_compiler[/man] function (as used in PEAR's go-pear.phar archive).