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