M. Sokolewicz wrote: > Pavel Janda wrote: >> Hello to everybody, >> >> I have this problem with downloading files via PHP. For illustration - >> I am using this fragment of code: >> >> <?php >> >> header("Content-type: $contenttype; name=\"$outputfilename\""); >> header("Content-disposition: form-data; >> filename=\"$outputfilename\""); >> >> $fp=fopen($filename,'r'); >> while (!FEof($fp)): >> $filedata.=fread($fp,8192); >> endwhile; >> fclose($fp); >> echo $filedata; >> >> ?> >> >> The problem is, that the file on server has 16857 bytes and saved file >> has 16858. In another case downloaded file has everytime 1 byte more >> than the original file on server. >> >> When I put JPEG or ZIP forexample to output, there is no problem with >> opening file like this. Bud when I am trying .docx (Office2007 file >> format) it occures mistake during opening this file in MSOffice... >> >> Can anybody helps me with this problem? Why is the file size >> increasing one byte? Whitch byte it is? >> >> Thanks a lot! >> Pavel > > Probably that whitespace after your last ?> > What I would recommend is to just leave off the last ?>, it's not > required and by not adding it you won't see those annoying problems with > whitespaces causing corrupt data. I agree. Also a much simpler way of outputting a file that doesn't use up memory, is just to replace: $fp=fopen($filename,'r'); while (!FEof($fp)): $filedata.=fread($fp,8192); endwhile; fclose($fp); echo $filedata; With: readfile($filename); http://uk.php.net/manual/en/function.readfile.php Col. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php