My system creates a folder with the following files and subfolders

I am using this code to create an odt file. When I start my system using this code to pin these subfolders and files to the test.odt file on top of Apache + PHP and Ubuntu 12.04, the odt file is fine. But when I try to pin a single test.odt file through IIS + PHP and Windows, the odt file does not work. I do not know, because when I open the odt file with LibreOffice , I get a general input / output error. Here is the odt file.
When I extract the odt file generated on top of Windows, the folders and files have the same image shape. I am looking in google and maybe the problem is in mimetype encoding.
How can I change code 1 to fix my problem?
EDIT
I use this folder with the code below, but I only get "PKÜNTEBasic / PKÜNTEú Ó, lÓR / Basic / script -lc. Xmle マ AoÂ0" in my odt file. Here is an example .
<?php $wordtemplatedownloadpath="siscons\\test\\wordtemplatedownload\\"; Zip($wordtemplatedownloadpath."pasta3", $wordtemplatedownloadpath."test.odt"); force_download( "test.odt", $wordtemplatedownloadpath."test.odt"); //echo "<a href=test/wordtemplatedownload/test.odt>" . "Download Force". "</a>"; function Zip($source, $destination) { if (!extension_loaded('zip') || !file_exists($source)) { return false; } $zip = new ZipArchive(); if (!$zip->open($destination, ZIPARCHIVE::CREATE)) { return false; } $source = str_replace('\\', '/', realpath($source)); //echo $source; if (is_dir($source) === true) { $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST); foreach ($files as $file) { //print "file#".$file."\n"; $file = str_replace('\\', '/', $file); // Ignore "." and ".." folders if( in_array(substr($file, strrpos($file, '/')+1), array('.', '..')) ) continue; //$file = realpath($file); //print "file#".$file."\n"; if (is_dir($file) === true) { //$zip->addEmptyDir(str_replace($source . '/', '', $file . '/')); //echo "sourcE".$source."FilE".$file."ReplacE".str_replace($source . '/', '', $file)."End"; $zip->addEmptyDir(str_replace($source . '/', '', $file)); } else if (is_file($file) === true) { $str1 = str_replace($source . '/', '', '/'.$file); $str1 = str_replace('/', '/', $str1); $zip->addFromString($str1, file_get_contents($file)); //$zip->addFromString("subfolder/styles.xml", file_get_contents($file)); } } } else if (is_file($source) === true) { $zip->addFromString(basename($source), file_get_contents($source)); } return $zip->close(); } function force_download( $filename = '', $data = '' ) { if( $filename == '' || $data == '' ){ return false; } if( !file_exists( $data ) ) { return false; } // Try to determine if the filename includes a file extension. // We need it in order to set the MIME type if( false === strpos( $filename, '.' ) ) { return false; } // Grab the file extension $extension = strtolower( pathinfo( basename( $filename ), PATHINFO_EXTENSION ) ); // our list of mime types $mime_types = array( 'txt' => 'text/plain', 'htm' => 'text/html', 'html' => 'text/html', 'php' => 'text/html', 'css' => 'text/css', 'js' => 'application/javascript', 'json' => 'application/json', 'xml' => 'application/xml', 'swf' => 'application/x-shockwave-flash', 'flv' => 'video/x-flv', // images 'png' => 'image/png', 'jpe' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jpg' => 'image/jpeg', 'gif' => 'image/gif', 'bmp' => 'image/bmp', 'ico' => 'image/vnd.microsoft.icon', 'tiff' => 'image/tiff', 'tif' => 'image/tiff', 'svg' => 'image/svg+xml', 'svgz' => 'image/svg+xml', // archives 'zip' => 'application/zip', 'rar' => 'application/x-rar-compressed', 'exe' => 'application/x-msdownload', 'msi' => 'application/x-msdownload', 'cab' => 'application/vnd.ms-cab-compressed', // audio/video 'mp3' => 'audio/mpeg', 'qt' => 'video/quicktime', 'mov' => 'video/quicktime', // adobe 'pdf' => 'application/pdf', 'psd' => 'image/vnd.adobe.photoshop', 'ai' => 'application/postscript', 'eps' => 'application/postscript', 'ps' => 'application/postscript', // ms office 'doc' => 'application/msword', 'rtf' => 'application/rtf', 'xls' => 'application/vnd.ms-excel', 'ppt' => 'application/vnd.ms-powerpoint', // open office 'odt' => 'application/vnd.oasis.opendocument.text', 'ods' => 'application/vnd.oasis.opendocument.spreadsheet', ); // Set a default mime if we can't find it if( !isset( $mime_types[$extension] ) ) { $mime = 'application/octet-stream'; } else { $mime = ( is_array( $mime_types[$extension] ) ) ? $mime_types[$extension][0] : $mime_types[$extension]; } // Generate the server headers if( strstr( $_SERVER['HTTP_USER_AGENT'], "MSIE" ) ) { header( 'Content-Type: "'.$mime.'"' ); header( 'Content-Disposition: attachment; filename="'.$filename.'"' ); header( 'Expires: 0' ); header( 'Cache-Control: must-revalidate, post-check=0, pre-check=0' ); header( "Content-Transfer-Encoding: binary" ); header( 'Pragma: public' ); header( "Content-Length: ".filesize( $data ) ); } else { header( "Pragma: public" ); header( "Expires: 0" ); header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" ); header( "Cache-Control: private", false ); header( "Content-Type: ".$mime, true, 200 ); header( 'Content-Length: '.filesize( $data ) ); header( 'Content-Disposition: attachment; filename='.$filename); header( "Content-Transfer-Encoding: binary" ); } readfile( $data ); exit; } //End force_download ?>