-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathimport.php
67 lines (50 loc) · 2.16 KB
/
import.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
function ImportFromTable($table) {
global $connOut, $conn;
global $ADODB_FETCH_MODE;
$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
$filename = ( ($pos=strpos( $table, ' ' )) ? substr( $table, 0, $pos ) : $table );
$fileName = $_SERVER['DOCUMENT_ROOT']."/temp/$filename.csv";
$recordSet = $connOut->Execute( "select * from $table " );
$fd = fopen($fileName, 'wb');
$TERMINATED = ',';
$ENCLOSED = '"';
$LINES_TERMINATED = "\r\n";
foreach( $recordSet as $key => $row ) {
for( $i = 0; $i < $recordSet->FieldCount(); $i++ )
fwrite( $fd, $ENCLOSED.$row[$i].$ENCLOSED.$TERMINATED );
fwrite( $fd, $LINES_TERMINATED );
} // while
fclose($fd);
echo "<br> Успешно ".$connOut->Affected_Rows()." записей считано $table ";
$conn->Execute("LOAD DATA LOCAL INFILE '$fileName' REPLACE INTO TABLE $table FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\\r\\n' ");
echo "<br> Успешно ".$conn->Affected_Rows()." записей импортировано в $table.".$recordSet->RecordCount();
// освобождаем файл
unlink($fileName);
}
require_once('config_db.php');
echo 'Начинаю процесс импорта '.date('d.m.y H:i:s');
echo '<br>Очищаю кеш';
try
{
ClearCashe();
// подсоединяемся к базе сервера сбора данных
$connOut = &ADONewConnection('mysqli');
$connOut->PConnect('nvh264.mirohost.net','u_ritos2x','ySLgLRrO','ritos2'); // основной вход
$connOut->Execute("SET NAMES utf8");
if ( !$connOut )
echo "<br>not connect to host 'nvh264.mirohost.net'";
ImportFromTable( 'prodaja' );
//склад очищаем перед импортом
$conn->Execute("TRUNCATE TABLE sklad");
ImportFromTable( 'sklad' );
echo '<br> Завершение процесса импорта '.date('d.m.y H:i:s');
}
catch(Exception $e)
{
$_SESSION['errors'] = $connOut->ErrorMsg();
$_SESSION['error_class'] = $e;
$_SESSION['error_time'] = date('d.m.y H:i:s');
echo "<br> Ошибка. Подробности смотри <a href='error_log.php' target='_blank'>тут </a>.".$conn->ErrorMsg();
}
?>