Hmm...
I've never used passthru. Here is something I used about 2-3 months ago to work with a ~5mb file:
$fp = fopen("myfile.exe", "r");
while(!$feof($fp)) {
$buffer = fread($fp, 4096);
print $buffer;
}
basically i'm reading/writing in blocks. This worked for me, but I'm pretty sure fpassthru works maybe with some additional functions/parameters.
let me know if the above works,
-sridhar