Revision: 63665
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at May 28, 2013 23:57 by graceman9
Initial Code
<?php if (!empty($_FILES)): ?> <?php $allowedExts = array("zip"); $extension = end(explode(".", $_FILES["file"]["name"])); if ($_FILES["file"]["size"] < 5000000 && in_array($extension, $allowedExts)) { if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; } else { $date = date('Y-m-d_H-i-s'); // // upload info // echo "Upload: " . $_FILES["file"]["name"] . "<br>"; // echo "Type: " . $_FILES["file"]["type"] . "<br>"; // echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>"; // echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>"; // exit; // unzip $zip = new ZipArchive; $res = $zip->open($_FILES["file"]["tmp_name"]); $zip_ok = FALSE; if ($res === TRUE) { $dir = 'files/'. $date; mkdir($dir); $zip->extractTo($dir); $zip->close(); $zip_ok = TRUE; } if (!empty($dir)) { // process $result = glob('./'. $dir .'/*.txt'); if (!empty($result)) { foreach($result as $fname) { preg_match('|^\.\/'. $dir .'/(.*)$|Uis', $fname, $mass); $uploadfile = $mass[1]; // Загружаем файл в маÑÑив // $get_array = file($uploadfile); $get_array = file($dir .'/'. $uploadfile); foreach($get_array as $line) { @$line = iconv("UCS-2", "UTF-8", $line); $pos = strpos($line, '+380'); if ($pos !== FALSE) { $sub = substr($line, $pos); $ars[] = $sub; } // preg_match('|^From\: \+380([0-9]+)$|Uis', $line, $massive); // if(@$massive[1] != '') { // $ars[] = '+380'.@$massive[1]; // //$active_sheet->setCellValueByColumnAndRow(0, $key, '+380'.$massive[1]); // } } } $uniq = array_unique($ars); $key = 1; $output_array = array(); foreach($uniq as $value) { $output_array[] = $value; $key++; } // Ð˜Ð¼Ñ Ð±ÑƒÐ´ÑƒÑ‰ÐµÐ³Ð¾ файла $filename = $date; header("Content-disposition: attachment; filename=". $filename .".csv"); header("Content-Type: text/csv"); $separator = empty($_POST['separator']) ? " " : $_POST['separator']; print implode($separator, $output_array); exit(); } else { echo '<div class="error">Ошибка: архив не Ñодержит текÑтовых файлов, или они неÑоответÑтвуют требуемому формату.</div>'; } } } } else { echo '<div class="error">Ошибка: недопуÑтимый формат файла.</div>'; } ?> <div class="back"><a href="./" title="ВернутьÑÑ Ðº форме">ВернутьÑÑ Ðº форме</a></div> <?php else: ?> <html> <head> <meta charset="utf-8"> <title>test</title> <style type="text/css"> .main { margin: 100px; text-align: center; } .form-wrapper { } .form-wrapper input[type="submit"] { } .error { color:red; padding: 5px; border: 1px solid gray; } .back { } .back a { padding: 5px; font-size: 1.5em; } .main pre { text-align: left; } .tip { color: #999; font-size: 12px; } </style> </head> <body> <div class="main"> <div class="form-wrapper"> <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data"> <label for="file" class="tip">Символ-разделитель:</label> <input type="text" name="separator" value="" placeholder=""> <br><span class="tip">По-умолчанию (оÑтавить пуÑтым) Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ñ‹ новой Ñтрокой ( ).</span> <br> <br> <br> <label for="file">Файл-архив:</label> <input type="file" name="file" id="file"> <input type="submit" name="submit" value="Отправить"> <br><span class="tip">ТребуетÑÑ Ð°Ñ€Ñ…Ð¸Ð² формата *.zip, Ñодержащий в корне вÑе файлы. Ð”Ð»Ñ Ñтого нужно выделить вÑе файлы и добавить их в архив, а добавлÑÑ‚ÑŒ в архив папку Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸.</span> </form> </div> </div> </body> </html> <?php endif; ?>
Initial URL
Initial Description
Upload special *.zip file with *.txt data. *.txt data format is between tags: <txt> From: +380990581747 Date: 21.02.2013 Time: 16:42 Content: 14 </txt>
Initial Title
Upload archive, unzip, process and output multiple *.txt files
Initial Tags
Initial Language
PHP