Thanks for the response, I decided that it was easier to unpack the zip during the upload process and then delete the zip. I can then indicate which files I want to zip up and this works (opening the zip on the server), but, and it's a big but, when the zip is downloaded to the users machine it is being corrupted! To force the download I use: header('Content-type: application/zip'); header('Content-Disposition: attachment; filename='.$tutorzipfile); readfile($filename); Which correctly gives me: Content-Type: application/zip Content-disposition: attachment; filename=tutorzipfile.zip when viewing the LiveHTTPHeaders extension in firefox. However, when I view the zip file that is downloaded to my machine, in Textpad, php has appended the directory information of the files I'm zipping up onto the front of the zip file, so it no longer starts PK!!! Anyone any ideas??? Thanks in advance Matt -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php