Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP и КЛАДР / 25 сообщений из 40, страница 1 из 2
10.12.2010, 07:28
    #37005919
Scorp1978
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Здраствуйте всем. Стоит задача организовать грамотный выбор адреса из справочника КЛАДРа на html страницы с помощью PHP, начиная от импортирования файла из dbf кладровского в mysql до динамически обновляемых списков (в зависимости от выбранных областей, городов и т.д.). Думаю законченное решение данной задачи будет полезным не только для меня одного. По просторам интернета решений не нашел (может плохо искал). Прошу помощи.
Вот начну:
выкладываю структу таблиц КЛАДРа
Таблица 3.1

Структура записи файла Kladr.dbf

NAME 40
SOCR 10
CODE 13
INDEX 6
GNINMB 4
UNO 4
OCATD 11
STATUS 1
Структура записи файла Street.dbf
NAME 40
SOCR 10
CODE 17
INDEX 6
GNINMB 4
UNO 4
OCATD 11
Структура записи файла Doma.dbf
NAME 40
KORP 10
SOCR 10
CODE 19
INDEX 6
GNINMB 4
UNO 4
OCATD 11

http://www.r67.nalog.ru/document_print.php?id=89723&topic=arhiv05_67
...
Рейтинг: 0 / 0
11.12.2010, 18:04
    #37009041
Scorp1978
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Ну помогите кто нибудь!!!!
...
Рейтинг: 0 / 0
11.12.2010, 19:39
    #37009135
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Scorp1978Ну помогите кто нибудь!!!!
А что у Вас не получается?
...
Рейтинг: 0 / 0
12.12.2010, 13:02
    #37009695
Scorp1978
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
На странице находится 4 зависимых выпадающих списка (Область, Город, Населенный пункт, Улица), кроме того на этой же странице находятся несколько независимы выпадающих списков и несколько текстовых полей, получается если я выберу пункт в одном зависимом списке, страница обновится и значения в других заполненых полях сбросится на "по умолчанию" как этого избежать. Может быть значение записывать в таблицу с каким нибудь ID, а после обновления списка и страницы вытаскивать эти значения назад (искать их по ID).
...
Рейтинг: 0 / 0
12.12.2010, 14:37
    #37009789
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Scorp1978,

Забудьте про выпадающие списки. Вы сами юзали такой функционал, когда, даже в отфильтрованном по городу (например Москва или СПб) списке выбрать улицу комбобоксом?
У меня сделано в виде таблиц с фильтрацией, сортировкой и пейжингом в псевдоокошке.
Забесплатно хотите? Мне за это деньги платят, вообще-то. Профессия такая.
ПС. Если хотите, прямо здесь в этом топике сделаем хорошую штуку. Только вот очень сомневаюсь в том, что Вы можете чем-то помочь.
Ну ладно, попробуйте сделать таблицы в MySQL, аналогичные таблицам в дбф. Чтобы при успешной загрузке файла (zip или rar - архивированных дбф-файлов), чтобы таблицы таки обновились.
Насчёт интерфейса - помогу. Не вопрос.
...
Рейтинг: 0 / 0
13.12.2010, 06:22
    #37010482
Scorp1978
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
ShSerge, ок уже делаю
...
Рейтинг: 0 / 0
14.12.2010, 09:52
    #37012707
Scorp1978
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Код: plaintext
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.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
<!DOCTYPE html  PUBLIC  "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Код создания и обновления таблиц КЛАДРА</title>
</head>

<body>

<?php

//-- класс таблица
 class  CTable
{
 var  $m_host;      //хост
 var  $m_login;     //логин
 var  $m_pass;      //пароль
 var  $m_dbname;    //имя БД
 var  $m_name;      //имя таблицы
 var  $m_import;    //файл *.dbf для импортирования

	//-- конструктор класса
	 function  CTable ($host, $login, $pass, $db, $table, $import) 
		{
			$this->m_host=$host;
			$this->m_login=$login;
			$this->m_pass=$pass;
			$this->m_dbname=$db;
			$this->m_name=$table;
			$this->m_import=$import;
		}
	//-- конец конструктора класса

	//-- соединение с БД
	 function  Connection () 
		{
			$link =  mysql_connect ($this->m_host, $this->m_login, $this->m_pass) or  die ("Ошибка соединения");
			 mysql_select_db ($this->m_dbname) or  die (" Не найдена таблица ");
		}
	//-- конец соединения с БД

	//--удаление старой таблице для замещения новой
	 function  DeleteOld()
		{ 
			$result =  mysql_list_tables ($this->m_dbname);
			 for  ($i =  0 ; $i <  mysql_num_rows ($result); $i++)
				{
					 if  ($this->m_name== mysql_tablename ($result, $i))
						{
							$query = "DROP TABLE ". $this->m_name;
							$drop= mysql_query ($query) or  die  ("Ошибка удаления старой таблицы");
							//print "Успешно удалена старая таблица ";
						};
				};
		}
		//--конец удаления старой таблице для замещения новой 

		//-- создание новой таблицы в БД
		 function  NewTable_Street()
			{
				$query="CREATE TABLE `Street` (
						`name` VARCHAR( 40 ),
						`socr` VARCHAR( 10 ),
						`code` VARCHAR( 17 ),
						`index` VARCHAR( 6 ),
						`gninmb` VARCHAR( 4 ),
						`uno` VARCHAR( 4 ),
						`ocatd` VARCHAR( 11 ))";
				$result =  mysql_query ($query) or  die  (" Не возможно создать новую таблицу ");
				//print " Новая таблица создана ";
			}
			//-- конец создания новой таблице в БД
		 function  Replace_Street()
			{
				 if  ( file_exists ($this->m_import))
					{ 
						$open_db= dbase_open ($this->m_import,  0 ); // открываем файл из которого будем производить импорт данных
						$records= dbase_numrecords ($open_db);     // Eiee?anoai no?ie a oaaeeoa
			             for  ($i= 1 ; $i<= $records; $i++)          // Oeee
							{ 
								$row=  dbase_get_record ($open_db, $i); // iieo?aao no?ieo
								$name=$row[ 0 ]; 		// Наименование 
								$socr=$row[ 1 ]; 		// Сокращенное наименование типа объекта
								$code=$row[ 2 ]; 		// Код
								$index=$row[ 3 ]; 	// Почтовый индекс
								$gninmb=$row[ 4 ]; 	// Код ИФНС
								$uno=$row[ 5 ]; 		// Код территориального участка ИФНС
								$ocatd=$row[ 6 ]; 	// Код ОКАТО
								//вставка в MySQL
								$query="INSERT INTO ".$this->m_name."( `name`, `socr`, `code`, `index`, `gninmb`, `uno`, `ocatd`) 
					    	    VALUES ('".$name."', '".$socr."', '".$code."', '".$index."', '".$gninmb."', '".$uno."', '".$ocatd."')";
								$result =  mysql_query ($query) or  die ("не удалось импортировать информацию");
							};
					}
					 else 
						{
							 print  "Не найден импортируемый файл";
						};
			}			
		//-- создание новой таблицы в БД
		 function  NewTable_Kladr()
			{
				$query="CREATE TABLE `Kladr` (
						`name` VARCHAR( 40 ),
						`socr` VARCHAR( 10 ),
						`code` VARCHAR( 13 ),
						`index` VARCHAR( 6 ),
						`gninmb` VARCHAR( 4 ),
						`uno` VARCHAR( 4 ),
						`ocatd` VARCHAR( 11 ),
						`status` VARCHAR( 1 ))";
				$result =  mysql_query ($query) or  die  (" Не возможно создать новую таблицу ");
				//print " Новая таблица создана ";
			}
			//-- конец создания новой таблице в БД

            //-- добавление данных в таблицу
		 function  Replace_Kladr ()
			{
				 if  ( file_exists ($this->m_import))
					{ 
						$open_db= dbase_open ($this->m_import,  0 ); // открываем файл из которого будем производить импорт данных
						$records= dbase_numrecords ($open_db);     // Eiee?anoai no?ie a oaaeeoa
			             for  ($i= 1 ; $i<= $records; $i++)          // Oeee
							{ 
								$row=  dbase_get_record ($open_db, $i); // iieo?aao no?ieo
								$name=$row[ 0 ]; 		// Наименование 
								$socr=$row[ 1 ]; 		// Сокращенное наименование типа объекта
								$code=$row[ 2 ]; 		// Код
								$index=$row[ 3 ]; 	// Почтовый индекс
								$gninmb=$row[ 4 ]; 	// Код ИФНС
								$uno=$row[ 5 ]; 		// Код территориального участка ИФНС
								$ocatd=$row[ 6 ]; 	// Код ОКАТО
								$status=$row[ 7 ]; 	// Статус объекта
								//вставка в MySQL
								$query="INSERT INTO ".$this->m_name."( `name`, `socr`, `code`, `index`, `gninmb`, `uno`, `ocatd`, `status`) 
					    	    VALUES ('".$name."', '".$socr."', '".$code."', '".$index."', '".$gninmb."', '".$uno."', '".$ocatd."', '".$status."')";
								$result =  mysql_query ($query) or  die ("не удалось импортировать информацию");
							};
					}
					 else 
						{
							 print  "Не найден импортируемый файл";
						};
			}

		 function  Close ()
			{
				 mysql_close ();
				 if  ( file_exists ($this->m_import))
					{
						 dbase_close ();
					}
			} 	

//-- Удаление импортируемого файла*.dbf
 function  DeleteImport()
{
 if  ( file_exists ($this->m_import))
{
 unlink ($this->m_import);
}; 
}
//--конец удаления импортируемого файла*.dbf

}
//--код 
$tb= new  CTable('localhost', 'site', '123', 'site', 'kladr', 'C:\WebServers\home\nalog\www\kladr\kladr.dbf');
$tb->Connection();
$tb->DeleteOld();
$tb->NewTable_Kladr();
$tb->Replace_Kladr()
$tb->Close();

$tb= new  CTable('localhost', 'site', '123', 'site', 'kladr', 'C:\WebServers\home\nalog\www\kladr\street.dbf');
$tb->Connection();
$tb->DeleteOld();
$tb->NewTable_Street();
$tb->Replace_Street()
$tb->Close();


?>
</body>
</html>

Модератор: километровая портянка кода убрана под спойлер.
...
Рейтинг: 0 / 0
14.12.2010, 10:13
    #37012740
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Scorp1978,

Нет, не так. На сервере уже есть таблицы. Их не надо заново криэйтить. Забудем про внешние ключи. Пускай будут не связанные таблицы. Вам надо обновить или добавить. Самое простое - удалить всё и проинсертить в одной транзакции. Вы можете передавать с помощью инпут-филе файлы по отдельности, что плохо, лучше зип-архив оптом. В успешном случае будет страничка success, в противном - error.
ПС. Хотите же сделать хорошо, не правда ли?
...
Рейтинг: 0 / 0
15.12.2010, 07:36
    #37014922
Scorp1978
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Вообщем делаю следующие скрипты:
- Создание таблиц КЛАДРА в mySql
- Копирование dbf файлов КЛАДРА
- Обновление таблиц mySql КЛАДРА
...
Рейтинг: 0 / 0
15.12.2010, 10:26
    #37015158
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Scorp1978Вообщем делаю следующие скрипты:
- Создание таблиц КЛАДРА в mySql
- Копирование dbf файлов КЛАДРА
- Обновление таблиц mySql КЛАДРА
Таблицы уже созданы. Ничего криэйтить не надо. Вы их уже создали с помощью пхп-миадмин, или дбфоржестудии или ещё чего. А вот копирование (инпут-филе), разархивирование и инсерт таблиц (лучше с учётом внешних ключей, хотя может и не надо) желательно делать в одном скрипте, чтобы в одном месте было. Там мало букаф. И не забыть про редирект, то есть header("Location:... .
...
Рейтинг: 0 / 0
20.12.2010, 06:47
    #37023944
Scorp1978
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Что то на копировании застрял

Код: plaintext
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.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
<?php
if(isset($_POST['struct']) or isset($_POST['delstruct']))
	{
		// Проверка на заполнение полей
		$prov_login =  0 ;
		$string_namehost = ($_POST['namehost']);$string_len = strlen($string_namehost);
		if($string_len ==  0 ){echo ('Введите наименование хоста ... ');}else{$prov_login+= 1 ;}
		$string_nameBD = ($_POST['nameBD']);$string_len = strlen($string_nameBD);
		if($string_len ==  0 ){echo ('Введите наименование БД ... ');}else{$prov_login = $prov_login+ 1 ;}
		$string_user = ($_POST['user']);$string_len = strlen($string_user);
		if($string_len ==  0 ){echo ('Введите имя пользователя БД ... ');}else{$prov_login = $prov_login+ 1 ;}		
   		$string_password = ($_POST['password']);$string_len = strlen($string_password);
		if($string_len ==  0 ){echo ('Введите пароль для входа в БД ... ');}else{$prov_login = $prov_login+ 1 ;}
		
		// Соединение с БД
		mysql_connect($string_namehost, $string_nameBD, $string_password);mysql_select_db($string_nameBD);

		// Создание таблиц		
		if ($prov_login ==  4  and isset($_POST['struct']))
		{	if(mysql_table_seek('Kladr', $string_nameBD)){}else{mysql_createtable_kladr();}
			if(mysql_table_seek('Street', $string_nameBD)){}else{mysql_createtable_street();}
			if(mysql_table_seek('Doma', $string_nameBD)){}else{mysql_createtable_doma();}
			if(mysql_table_seek('Flat', $string_nameBD)){}else{mysql_createtable_flat();}
 			if(mysql_table_seek('Socrbase', $string_nameBD)){}else{mysql_createtable_socrbase();}
 			if(mysql_table_seek('Altnames', $string_nameBD)){}else{mysql_createtable_altnames();}}
		
		// Удаление таблиц
  		if ($prov_login ==  4  and isset($_POST['delstruct']) and mysql_table_seek('Kladr', $string_nameBD)){mysql_deletetable('Kladr');}
		if ($prov_login ==  4  and isset($_POST['delstruct']) and mysql_table_seek('Street', $string_nameBD)){mysql_deletetable('Street');}
		if ($prov_login ==  4  and isset($_POST['delstruct']) and mysql_table_seek('Doma', $string_nameBD)){mysql_deletetable('Doma');}
		if ($prov_login ==  4  and isset($_POST['delstruct']) and mysql_table_seek('Flat', $string_nameBD)){mysql_deletetable('Flat');}
		if ($prov_login ==  4  and isset($_POST['delstruct']) and mysql_table_seek('Socrbase', $string_nameBD)){mysql_deletetable('Socrbase');}
		if ($prov_login ==  4  and isset($_POST['delstruct']) and mysql_table_seek('Altnames', $string_nameBD)){mysql_deletetable('Altnames');}
				
	}
  			 
if(isset($_POST['copykladr']))
	{
if (copy('Z:/home/site/www/file.txt', 'Z:/home/site/www/file2.txt'))
{ echo "Копирование успешно выполнено"; }
else
{ echo "Ошибка при копировании"; }
}




function mysql_deletetable($dTable)	

{	$query="DROP TABLE ".$dTable;
	$result = mysql_query($query) or die (" Не возможно удалить таблицу ".$dTable);
}


function mysql_createtable_kladr()			 
{	$query="CREATE TABLE Kladr (  `name` VARCHAR( 40 ),
								  `socr` VARCHAR( 10 ),
								  `code` VARCHAR( 13 ),
								  `index` VARCHAR( 6 ),
								  `gninmb` VARCHAR( 4 ),
								  `uno` VARCHAR( 4 ), 
								  `ocatd` VARCHAR( 11 ),
								  `status` VARCHAR( 1 ))" ;
	$result = mysql_query($query) or die (" Не возможно создать новую таблицу KLADR");
}

function mysql_createtable_street()			 
{	$query="CREATE TABLE Street  (`name` VARCHAR( 40 ),
								  `socr` VARCHAR( 10 ),
								  `code` VARCHAR( 17 ),
								  `index` VARCHAR( 6 ),
								  `gninmb` VARCHAR( 4 ),
								  `uno` VARCHAR( 4 ), 
								  `ocatd` VARCHAR( 11 ))" ;
	$result = mysql_query($query) or die (" Не возможно создать новую таблицу Street");
}

function mysql_createtable_Doma()			 
{	$query="CREATE TABLE Doma    (`name` VARCHAR( 40 ),
								  `korp` VARCHAR( 10 ),		 
								  `socr` VARCHAR( 10 ),
								  `code` VARCHAR( 19 ),
								  `index` VARCHAR( 6 ),
								  `gninmb` VARCHAR( 4 ),
								  `uno` VARCHAR( 4 ), 
								  `ocatd` VARCHAR( 11 ))";
	$result = mysql_query($query) or die (" Не возможно создать новую таблицу Doma");
}

function mysql_createtable_Flat()			 
{	$query="CREATE TABLE Flat    (`name` VARCHAR( 40 ),
								  `code` VARCHAR( 23 ),
								  `index` VARCHAR( 6 ),
								  `gninmb` VARCHAR( 4 ),
								  `uno` VARCHAR( 4 ),
								  `np` VARCHAR( 4 ))";
	$result = mysql_query($query) or die (" Не возможно создать новую таблицу Flat");
}

function mysql_createtable_Socrbase()			 
{	$query="CREATE TABLE Socrbase(`level` VARCHAR( 5 ),
								  `scname` VARCHAR( 10 ),
								  `socrname` VARCHAR( 29 ),
								  `kod_t_st` VARCHAR( 3 ))";
	$result = mysql_query($query) or die (" Не возможно создать новую таблицу Socrbase");
}

function mysql_createtable_AltNames()			 
{	$query="CREATE TABLE Altnames(`oldcode` VARCHAR( 19 ),
								  `newcode` VARCHAR( 19 ),
								  `level` VARCHAR( 1 ))";
	$result = mysql_query($query) or die (" Не возможно создать новую таблицу AltNames");
}

function mysql_table_seek($tablename, $dbname)
{   $table_list = mysql_query("SHOW TABLES FROM `".$dbname."`");
    while ($row = mysql_fetch_row($table_list)) {if ($tablename==$row[ 0 ]) {return true;}}
    return false;
} 
?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru-ru" lang="ru-ru" dir="ltr" >
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
<head>
  <title>Загрузка файлов на сервер</title>
</head>
<body>
      <h2><p><b> Администрирование баз КЛАДРа </b></p></h2>
      <form action="index.php" method="post" enctype="multipart/form-data">
      <p><b> Создать структуру баз КЛАДРа на MySql </b></p>
      <p>Введите имя хоста:        
        <input value='localhost' type=text name = namehost>
          Введите имя БД:
        <input  value='site' input type=text name = nameBD>
          Имя пользователя:
        <input value='site' input type=text name = user>
          Пароль:
        <input value='123' input type=text name = password>
      </p>
      <p>
        <input type="submit" name = struct value="Создание структуры КЛАДРа">
        <input type="submit" name = delstruct value="Удалить структуру КЛАДРа"><br>
      </p>
</form>
      <form action="index.php" method="post" enctype="multipart/form-data">
      <p><b> Копирование файлов КЛАДРа в формате *.zip или *.rar на сервер </b></p>
      <input value = "Укажите архив для копирования" type="file" name = "fnKladr" size="50"><br> 
      <br> 
      <input type="submit" name = copykladr value="Загрузить"><br>
</form>
      <form action="index.php" method="post" enctype="multipart/form-data">
      <p><b> Заполнение(обновление) баз КЛАДРа на сервере </b></p>
      <input type="submit" name = zaplkladr value="Выполнить"><br>
      </form>
</body>
</html>
...
Рейтинг: 0 / 0
20.12.2010, 06:48
    #37023945
Scorp1978
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Как сделать что код под спойлер убирался?
...
Рейтинг: 0 / 0
20.12.2010, 07:50
    #37023970
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Справа, в форматировании в списке "дополнит." выбрать "spoiler" для выделенного текста. Или ручками теги написать.
...
Рейтинг: 0 / 0
20.12.2010, 08:36
    #37023999
Scorp1978
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Вот такой код копирования работает, но почему переменная $fnKladr пустая, поэтому когда подставляю ее вместо 'C:/zapros.rar', выводит ошибку?


if(isset($_POST['copykladr']))
{
echo($fnKladr);

if (copy( ('C:/zapros.rar') , '../www/File/kladr.rar'))
{
echo "Копирование успешно выполнено"; }
else
{echo "Ошибка при копировании";}
}
...
Рейтинг: 0 / 0
20.12.2010, 08:48
    #37024019
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Более того, я бы удивился, если бы она был не пустая.
...
Рейтинг: 0 / 0
20.12.2010, 08:58
    #37024029
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Либо вы скрыли от нас код, в котором она объявляется, либо она у вас просто не объявляется.
...
Рейтинг: 0 / 0
20.12.2010, 09:45
    #37024078
Scorp1978
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
if(isset($_POST['copykladr']))
{
if(isset($_POST['fnKladr'])){
$string_namefile = ($_POST['fnKladr']);
echo('test');
echo($string_namefile);
}
if (copy( ('C:/zapros.rar') , '../www/File/kladr.rar'))
{echo "Копирование успешно выполнено"; }
else
{echo "Ошибка при копировании";}
}

<form action="index.php" method="post" enctype="multipart/form-data">
...
<p><b> Копирование файлов КЛАДРа в формате *.zip или *.rar на сервер </b></p>
<input type = "file" name = fnKladr value = "Укажите архив для копирования" size="50"><br>
<br>
<input type="submit" name = copykladr value="Загрузить"><br>
</form>

Не выводит echo($string_namefile);
...
Рейтинг: 0 / 0
20.12.2010, 10:38
    #37024150
Scorp1978
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Решил вопрос


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
if(isset($_POST['copykladr']))
	{	$uploaddir = '../www/File/';
		$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
		if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
		    //print "Файл успешно загружен на сервер. ";
		    //print "Информация о загруженном файле:\n";
		    //print_r($_FILES);
			} else {print "Не удалось загрузить файл:\n";
				    print "Дополнительная отладочная информация:\n";
				    print_r($_FILES);}
}

<form action="index.php" method="post" enctype="multipart/form-data">

...

      <p><b> Копирование файлов КЛАДРа в формате *.zip или *.rar на сервер </b></p>
      
       <input type="hidden" name="MAX_FILE_SIZE" value="300000" />
       Отправить этот файл: <input name="userfile" type="file" />
       <br> 
       <input type="submit" name = copykladr value="Загрузить и обновить базы КЛАДРа"><br>

</form>
...
Рейтинг: 0 / 0
20.12.2010, 13:39
    #37024580
Destr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Тут интересная реализация

вообще лучше один раз создать структуру из двух таблиц - дерево топонимов и справочник типов топонимов, качнуть туда КЛАДР, благо не так часто он обновляется, чтобы иметь отдельный сервис для закачки. Кстати в структуре NAME 40 и SOCR 10 не корректно указаны, поскольку и в том и другом случае есть записи с более длинными значениями, поэтому во время импорта может или ругнуться на запись или обрезать ее
...
Рейтинг: 0 / 0
20.12.2010, 15:35
    #37024928
Scorp1978
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Реализаця интересная и несложная, но к сожелению в нашем случае она не подходит. Спасибо за указание неточностей в структуре, завтра выложу готовый код на обкатку. Буду рад всем кто окажет помощь!!! (тем более обещали)
...
Рейтинг: 0 / 0
20.12.2010, 15:38
    #37024934
Scorp1978
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Scorp1978Реализаця интересная и несложная, но к сожелению в нашем случае она не подходит. Спасибо за указание неточностей в структуре, завтра выложу готовый код на обкатку. Буду рад всем кто окажет помощь!!! (тем более обещали)Кстати не верна структура в какой таблице или во всех и сколько должна быть длина поля?
...
Рейтинг: 0 / 0
21.12.2010, 05:26
    #37026046
Scorp1978
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Вот выкладываю код СОЗДАНИЯ, УДАЛЕНИЯ, КОПИРОВАНИЯ и ЗАПОЛНЕНИЯ баз КЛАДРа, буду рад разумной модификации кода в лучшую сторону. ShSerge, Вы обещали помочь с динамическими списками.


[srс]
<?php

// Создание или удаление структуры кладра
if(isset($_POST['struct']) or isset($_POST['delstruct']))
{
// Проверка на заполнение полей
$prov_login = 0;
$string_namehost = ($_POST['namehost']);$string_len = strlen($string_namehost);
if($string_len == 0){echo ('Введите наименование хоста ... ');}else{$prov_login+=1;}
$string_nameBD = ($_POST['nameBD']);$string_len = strlen($string_nameBD);
if($string_len == 0){echo ('Введите наименование БД ... ');}else{$prov_login = $prov_login+1;}
$string_user = ($_POST['user']);$string_len = strlen($string_user);
if($string_len == 0){echo ('Введите имя пользователя БД ... ');}else{$prov_login = $prov_login+1;}
$string_password = ($_POST['password']);$string_len = strlen($string_password);
if($string_len == 0){echo ('Введите пароль для входа в БД ... ');}else{$prov_login = $prov_login+1;}

// Соединение с БД
mysql_connect($string_namehost, $string_nameBD, $string_password);mysql_select_db($string_nameBD);

// Создание таблиц
if ($prov_login == 4 and isset($_POST['struct']))
{ if(mysql_table_seek('Kladr', $string_nameBD)){}else{mysql_createtable_kladr();}
if(mysql_table_seek('Street', $string_nameBD)){}else{mysql_createtable_street();}
if(mysql_table_seek('Doma', $string_nameBD)){}else{mysql_createtable_doma();}
if(mysql_table_seek('Flat', $string_nameBD)){}else{mysql_createtable_flat();}
if(mysql_table_seek('Socrbase', $string_nameBD)){}else{mysql_createtable_socrbase();}
if(mysql_table_seek('Altnames', $string_nameBD)){}else{mysql_createtable_altnames();}}

// Удаление таблиц
if ($prov_login == 4 and isset($_POST['delstruct']) and mysql_table_seek('Kladr', $string_nameBD)){mysql_deletetable('Kladr');}
if ($prov_login == 4 and isset($_POST['delstruct']) and mysql_table_seek('Street', $string_nameBD)){mysql_deletetable('Street');}
if ($prov_login == 4 and isset($_POST['delstruct']) and mysql_table_seek('Doma', $string_nameBD)){mysql_deletetable('Doma');}
if ($prov_login == 4 and isset($_POST['delstruct']) and mysql_table_seek('Flat', $string_nameBD)){mysql_deletetable('Flat');}
if ($prov_login == 4 and isset($_POST['delstruct']) and mysql_table_seek('Socrbase', $string_nameBD)){mysql_deletetable('Socrbase');}
if ($prov_login == 4 and isset($_POST['delstruct']) and mysql_table_seek('Altnames', $string_nameBD)){mysql_deletetable('Altnames');}

}

// Копирование баз КЛАДРа на сервер и заполнение таблиц
if(isset($_POST['copykladr']))
// Копирование и разархивирование баз КЛАДРа на сервере в формате *.dbf
{ $uploaddir = '../www/File/arhivKladr/';
$uploadfile = $uploaddir . 'kladr.rar';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
} else {print "Не удалось загрузить файл:\n";
print "Дополнительная отладочная информация:\n";
print_r($_FILES);}
if (chdir('../www/File/arhivKladr/')){} else {print "Не удалось сменить директорию\n";}
$arh=exec("rar e kladr.rar"); // Примечание исполняемый файл rar должен находиться всместе с архивом КЛАДРа в одной папке
if ($arh){chdir("../..");} else {print "Архив не разархивирован\n";}

// Заполнение таблиц базы КЛАДРа
}





function mysql_deletetable($dTable)

{ $query="DROP TABLE ".$dTable;
$result = mysql_query($query) or die (" Не возможно удалить таблицу ".$dTable);
}


function mysql_createtable_kladr()
{ $query="CREATE TABLE Kladr ( `name` VARCHAR( 40 ),
`socr` VARCHAR( 10 ),
`code` VARCHAR( 13 ),
`index` VARCHAR( 6 ),
`gninmb` VARCHAR( 4 ),
`uno` VARCHAR( 4 ),
`ocatd` VARCHAR( 11 ),
`status` VARCHAR( 1 ))" ;
$result = mysql_query($query) or die (" Не возможно создать новую таблицу KLADR");
}

function mysql_createtable_street()
{ $query="CREATE TABLE Street (`name` VARCHAR( 40 ),
`socr` VARCHAR( 10 ),
`code` VARCHAR( 17 ),
`index` VARCHAR( 6 ),
`gninmb` VARCHAR( 4 ),
`uno` VARCHAR( 4 ),
`ocatd` VARCHAR( 11 ))" ;
$result = mysql_query($query) or die (" Не возможно создать новую таблицу Street");
}

function mysql_createtable_Doma()
{ $query="CREATE TABLE Doma (`name` VARCHAR( 40 ),
`korp` VARCHAR( 10 ),
`socr` VARCHAR( 10 ),
`code` VARCHAR( 19 ),
`index` VARCHAR( 6 ),
`gninmb` VARCHAR( 4 ),
`uno` VARCHAR( 4 ),
`ocatd` VARCHAR( 11 ))";
$result = mysql_query($query) or die (" Не возможно создать новую таблицу Doma");
}

function mysql_createtable_Flat()
{ $query="CREATE TABLE Flat (`name` VARCHAR( 40 ),
`code` VARCHAR( 23 ),
`index` VARCHAR( 6 ),
`gninmb` VARCHAR( 4 ),
`uno` VARCHAR( 4 ),
`np` VARCHAR( 4 ))";
$result = mysql_query($query) or die (" Не возможно создать новую таблицу Flat");
}

function mysql_createtable_Socrbase()
{ $query="CREATE TABLE Socrbase(`level` VARCHAR( 5 ),
`scname` VARCHAR( 10 ),
`socrname` VARCHAR( 29 ),
`kod_t_st` VARCHAR( 3 ))";
$result = mysql_query($query) or die (" Не возможно создать новую таблицу Socrbase");
}

function mysql_createtable_AltNames()
{ $query="CREATE TABLE Altnames(`oldcode` VARCHAR( 19 ),
`newcode` VARCHAR( 19 ),
`level` VARCHAR( 1 ))";
$result = mysql_query($query) or die (" Не возможно создать новую таблицу AltNames");
}

function mysql_table_seek($tablename, $dbname)
{ $table_list = mysql_query("SHOW TABLES FROM `".$dbname."`");
while ($row = mysql_fetch_row($table_list)) {if ($tablename==$row[0]) {return true;}}
return false;
}

function Replace_Street()
{ $open_db=dbase_open('../www/File/arhivKladr/street.dbf', 0); // Открываем файл из которого будем производить импорт данных
$records=dbase_numrecords($open_db); // Количество записей в импортируемом файле
for ($i=1; $i<= $records; $i++) // Переход на следующ. запись
{$row= dbase_get_record($open_db, $i); // Чтение записи
$name=$row[0]; // Наименование
$socr=$row[1]; // Сокращенное наименование типа объекта
$code=$row[2]; // Код
$index=$row[3]; // Почтовый индекс
$gninmb=$row[4]; // Код ИФНС
$uno=$row[5]; // Код территориального участка ИФНС
$ocatd=$row[6]; // Код ОКАТО
$query="INSERT INTO street( `name`, `socr`, `code`, `index`, `gninmb`, `uno`, `ocatd`)
VALUES ('".$name."', '".$socr."', '".$code."', '".$index."', '".$gninmb."', '".$uno."', '".$ocatd."')";
$result = mysql_query($query) or die("не удалось импортировать информацию");};
}

function Replace_Kladr ()
{ $open_db=dbase_open('../www/File/arhivKladr/kladr.dbf', 0); // открываем файл из которого будем производить импорт данных
$records=dbase_numrecords($open_db); // Количество записей в импортируемом файле
for ($i=1; $i<= $records; $i++) // Переход на следующ. запись
{$row= dbase_get_record($open_db, $i); // Чтение записи
$name=$row[0]; // Наименование
$socr=$row[1]; // Сокращенное наименование типа объекта
$code=$row[2]; // Код
$index=$row[3]; // Почтовый индекс
$gninmb=$row[4]; // Код ИФНС
$uno=$row[5]; // Код территориального участка ИФНС
$ocatd=$row[6]; // Код ОКАТО
$status=$row[7]; // Статус объекта
$query="INSERT INTO kladr ( `name`, `socr`, `code`, `index`, `gninmb`, `uno`, `ocatd`, `status`)
VALUES ('".$name."', '".$socr."', '".$code."', '".$index."', '".$gninmb."', '".$uno."', '".$ocatd."', '".$status."')";
$result = mysql_query($query) or die("не удалось импортировать информацию");};
}

function Replace_Doma ()
{ $open_db=dbase_open('../www/File/arhivKladr/doma.dbf', 0); // открываем файл из которого будем производить импорт данных
$records=dbase_numrecords($open_db); // Количество записей в импортируемом файле
for ($i=1; $i<= $records; $i++) // Переход на следующ. запись
{$row= dbase_get_record($open_db, $i); // Чтение записи
$name=$row[0]; // Наименование
$korp=$row[1]; // Корпус
$socr=$row[2]; // Сокращенное наименование типа объекта
$code=$row[3]; // Код
$index=$row[4]; // Почтовый индекс
$gninmb=$row[5]; // Код ИФНС
$uno=$row[6]; // Код территориального участка ИФНС
$ocatd=$row[7]; // Код ОКАТО
$query="INSERT INTO doma ( `name`, `korp`, `socr`, `code`, `index`, `gninmb`, `uno`, `ocatd`)
VALUES ('".$name."', '".$korp."', '".$socr."', '".$code."', '".$index."', '".$gninmb."', '".$uno."', '".$ocatd."')";
$result = mysql_query($query) or die("не удалось импортировать информацию");};
}

function Replace_Flat()
{ $open_db=dbase_open('../www/File/arhivKladr/flat.dbf', 0); // открываем файл из которого будем производить импорт данных
$records=dbase_numrecords($open_db); // Количество записей в импортируемом файле
for ($i=1; $i<= $records; $i++) // Переход на следующ. запись
{$row= dbase_get_record($open_db, $i); // Чтение записи
$name=$row[0]; // Наименование
$code=$row[1]; // Код
$index=$row[2]; // Почтовый индекс
$gninmb=$row[3]; // Код ИФНС
$uno=$row[4]; // Код территориального участка ИФНС
$np=$row[5]; // Номер подъезда дома
$query="INSERT INTO doma ( `name`, `code`, `index`, `gninmb`, `uno`, `np`)
VALUES ('".$name."', '".$code."', '".$index."', '".$gninmb."', '".$uno."', '".$np."')";
$result = mysql_query($query) or die("не удалось импортировать информацию");};
}

function Replace_Socrbase()
{ $open_db=dbase_open('../www/File/arhivKladr/Socrbase.dbf', 0); // открываем файл из которого будем производить импорт данных
$records=dbase_numrecords($open_db); // Количество записей в импортируемом файле
for ($i=1; $i<= $records; $i++) // Переход на следующ. запись
{$row= dbase_get_record($open_db, $i); // Чтение записи
$level=$row[0]; // Уровень объекта данного типа
$scname=$row[1]; // Сокращенное наименование типа объекта
$socrname=$row[2]; // Полное наименование типа объекта
$kod_t_st=$row[3]; // Код типа объекта
$query="INSERT INTO Socrbase ( `level`, `scname`, `socrname`, `kod_t_st`)
VALUES ('".$level."', '".$scname."', '".$socrname."', '".$kod_t_st."')";
$result = mysql_query($query) or die("не удалось импортировать информацию");};
}

function Replace_Altnames()
{ $open_db=dbase_open('../www/File/arhivKladr/Altnames.dbf', 0); // открываем файл из которого будем производить импорт данных
$records=dbase_numrecords($open_db); // Количество записей в импортируемом файле
for ($i=1; $i<= $records; $i++) // Переход на следующ. запись
{$row= dbase_get_record($open_db, $i); // Чтение записи
$oldcode=$row[0]; // Уровень объекта данного типа
$newcode=$row[1]; // Сокращенное наименование типа объекта
$level=$row[2]; // Полное наименование типа объекта
$query="INSERT INTO Socrbase ( `oldcode`, `newcode`, `level`)
VALUES ('".$oldcode."', '".$newcode."', '".$level."')";
$result = mysql_query($query) or die("не удалось импортировать информацию");};
}

?>




<html xmlns=" http://www.w3.org/1999/xhtml" xml:lang="ru-ru" lang="ru-ru" dir="ltr" >
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<head>
<title>Загрузка файлов на сервер</title>
</head>
<body>


<h2><p><b> Администрирование баз КЛАДРа </b></p></h2>

<form action="index.php" method="post" enctype="multipart/form-data">
<p><b> Создать структуру баз КЛАДРа на MySql </b></p>
<p>Введите имя хоста:  
<input value='localhost' type=text name = namehost>
  Введите имя БД:
<input value='site' input type=text name = nameBD>
  Имя пользователя:
<input value='site' input type=text name = user>
  Пароль:
<input value='123' input type=text name = password>
</p>
<p>
<input type="submit" name = struct value="Создание структуры КЛАДРа">
<input type="submit" name = delstruct value="Удалить структуру КЛАДРа"><br>
</p>

<p><b> Копирование файлов КЛАДРа в формате *.rar на сервер </b></p>

<input type="hidden" name="MAX_FILE_SIZE" value="300000" />
Укажите архив(*.rar) баз КЛАДРа: <input name="userfile" type="file" />
<br>
<input type="submit" name = copykladr value="Загрузить и обновить базы КЛАДРа"><br>
</form>

</body>
</html>
[/srс]
...
Рейтинг: 0 / 0
21.12.2010, 10:09
    #37026244
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Scorp1978,

Scorp1978ShSerge, Вы обещали помочь с динамическими списками.

Не вопрос. Только ещё раз повторяю, уберите из кода "CREATE TABLE", ну и дроп, само собой.
...
Рейтинг: 0 / 0
25.12.2010, 07:50
    #37035039
Scorp1978
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
Вот без create add drop


Код: plaintext
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.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
<?php

// Копирование баз КЛАДРа на сервер и заполнение таблиц
 if ( isset ($_POST['copykladr']))
	{
		// Проверка на заполнение полей
		$prov_login =  0 ;
		$string_namehost = ($_POST['namehost']);$string_len =  strlen ($string_namehost);
		 if ($string_len ==  0 ){ echo  ('Введите наименование хоста ... ');} else {$prov_login+= 1 ;}
		$string_nameBD = ($_POST['nameBD']);$string_len =  strlen ($string_nameBD);
		 if ($string_len ==  0 ){ echo  ('Введите наименование БД ... ');} else {$prov_login = $prov_login+ 1 ;}
		$string_user = ($_POST['user']);$string_len =  strlen ($string_user);
		 if ($string_len ==  0 ){ echo  ('Введите имя пользователя БД ... ');} else {$prov_login = $prov_login+ 1 ;}		
   		$string_password = ($_POST['password']);$string_len =  strlen ($string_password);
		 if ($string_len ==  0 ){ echo  ('Введите пароль для входа в БД ... ');} else {$prov_login = $prov_login+ 1 ;}
		
		// Соединение с БД
		 mysql_connect ($string_namehost, $string_nameBD, $string_password); mysql_select_db ($string_nameBD);


		// Копирование и разархивирование баз КЛАДРа на сервере в формате *.dbf
	 	$uploaddir = '../www/File/arhivKladr/';
		$uploadfile = $uploaddir . 'kladr.rar';
		 if  ( move_uploaded_file ($_FILES['userfile']['tmp_name'], $uploadfile)) {
			}  else  { print  "Не удалось загрузить файл:\n";
				     print  "Дополнительная отладочная информация:\n";
				     print_r ($_FILES);}
		 if  ( chdir ('../www/File/arhivKladr/')){}  else  { print  "Не удалось сменить директорию\n";}
		$arh= exec ("rar e kladr.rar"); // Примечание исполняемый файл rar должен находиться всместе с архивом КЛАДРа в одной папке
		 if  ($arh){ chdir ("../..");}  else  { print  "Архив не разархивирован\n";}
	
		// Заполнение таблиц базы КЛАДРа
	     if  ($prov_login ==  4  and mysql_table_seek('Street', $string_nameBD)){Replace_Street();}
	     if  ($prov_login ==  4  and mysql_table_seek('Kladr', $string_nameBD)){Replace_Kladr();}
	     if  ($prov_login ==  4  and mysql_table_seek('Doma', $string_nameBD)){Replace_Doma();}
	     if  ($prov_login ==  4  and mysql_table_seek('Flat', $string_nameBD)){Replace_Flat();}
	     if  ($prov_login ==  4  and mysql_table_seek('Socrbase', $string_nameBD)){Replace_Socrbase();}
	     if  ($prov_login ==  4  and mysql_table_seek('Altnames', $string_nameBD)){Replace_Altnames();}
		
	}
	


 function  mysql_table_seek($tablename, $dbname)
{   $table_list =  mysql_query ("SHOW TABLES FROM `".$dbname."`");
     while  ($row =  mysql_fetch_row ($table_list)) { if  ($tablename==$row[ 0 ]) { return   true ;}}
     return   false ;
} 

 function  Replace_Street()
{	$open_db= dbase_open ('../www/File/arhivKladr/street.dbf',  0 );    // Открываем файл из которого будем производить импорт данных
	$records= dbase_numrecords ($open_db);                        	// Количество записей в импортируемом файле
	 for  ($i= 1 ; $i<= $records; $i++)          						// Переход на следующ. запись
		{$row=  dbase_get_record ($open_db, $i);    					// Чтение записи
		 $name=$row[ 0 ]; 											// Наименование 
		 $socr=$row[ 1 ]; 											// Сокращенное наименование типа объекта
		 $code=$row[ 2 ]; 											// РљРѕРґ
		 $index=$row[ 3 ]; 											// Почтовый индекс
		 $gninmb=$row[ 4 ]; 											// Код ИФНС
		 $uno=$row[ 5 ]; 												// Код территориального участка ИФНС
		 $ocatd=$row[ 6 ]; 											// РљРѕРґ РћРљРђРўРћ
	$query="INSERT INTO street( `name`, `socr`, `code`, `index`, `gninmb`, `uno`, `ocatd`) 
	  	    VALUES ('".$name."', '".$socr."', '".$code."', '".$index."', '".$gninmb."', '".$uno."', '".$ocatd."')";
	$result =  mysql_query ($query) or  die ("не удалось импортировать информацию");};
}

 function  Replace_Kladr ()
{	$open_db= dbase_open ('../www/File/arhivKladr/kladr.dbf',  0 ); 	// открываем файл из которого будем производить импорт данных
	$records= dbase_numrecords ($open_db);     						// Количество записей в импортируемом файле
     for  ($i= 1 ; $i<= $records; $i++)          						// Переход на следующ. запись
		{$row=  dbase_get_record ($open_db, $i); 						// Чтение записи
		 $name=$row[ 0 ]; 											// Наименование 
		 $socr=$row[ 1 ]; 											// Сокращенное наименование типа объекта
		 $code=$row[ 2 ]; 											// РљРѕРґ
		 $index=$row[ 3 ]; 											// Почтовый индекс
		 $gninmb=$row[ 4 ]; 											// Код ИФНС
		 $uno=$row[ 5 ]; 												// Код территориального участка ИФНС
		 $ocatd=$row[ 6 ]; 											// РљРѕРґ РћРљРђРўРћ
		 $status=$row[ 7 ]; 											// Статус объекта
	$query="INSERT INTO kladr ( `name`, `socr`, `code`, `index`, `gninmb`, `uno`, `ocatd`, `status`) 
    	    VALUES ('".$name."', '".$socr."', '".$code."', '".$index."', '".$gninmb."', '".$uno."', '".$ocatd."', '".$status."')";
	$result =  mysql_query ($query) or  die ("не удалось импортировать информацию");};
}

 function  Replace_Doma ()
{	$open_db= dbase_open ('../www/File/arhivKladr/doma.dbf',  0 ); 	    // открываем файл из которого будем производить импорт данных
	$records= dbase_numrecords ($open_db);     						// Количество записей в импортируемом файле
     for  ($i= 1 ; $i<= $records; $i++)          						// Переход на следующ. запись
	{$row=  dbase_get_record ($open_db, $i); 							// Чтение записи
	 $name=$row[ 0 ]; 												// Наименование 
	 $korp=$row[ 1 ]; 												// РљРѕСЂРїСѓСЃ
	 $socr=$row[ 2 ]; 												// Сокращенное наименование типа объекта
	 $code=$row[ 3 ]; 												// РљРѕРґ
	 $index=$row[ 4 ]; 												// Почтовый индекс
	 $gninmb=$row[ 5 ]; 												// Код ИФНС
	 $uno=$row[ 6 ]; 													// Код территориального участка ИФНС
	 $ocatd=$row[ 7 ]; 												// РљРѕРґ РћРљРђРўРћ
	$query="INSERT INTO doma ( `name`, `korp`, `socr`, `code`, `index`, `gninmb`, `uno`, `ocatd`) 
    	    VALUES ('".$name."', '".$korp."', '".$socr."', '".$code."', '".$index."', '".$gninmb."', '".$uno."', '".$ocatd."')";
	$result =  mysql_query ($query) or  die ("не удалось импортировать информацию");};
}

 function  Replace_Flat()
{	$open_db= dbase_open ('../www/File/arhivKladr/flat.dbf',  0 ); 	    // открываем файл из которого будем производить импорт данных
	$records= dbase_numrecords ($open_db);     						// Количество записей в импортируемом файле
     for  ($i= 1 ; $i<= $records; $i++)          						// Переход на следующ. запись
	{$row=  dbase_get_record ($open_db, $i); 							// Чтение записи
	 $name=$row[ 0 ]; 												// Наименование 
	 $code=$row[ 1 ]; 												// РљРѕРґ
	 $index=$row[ 2 ]; 												// Почтовый индекс
	 $gninmb=$row[ 3 ]; 												// Код ИФНС
	 $uno=$row[ 4 ]; 													// Код территориального участка ИФНС
	 $np=$row[ 5 ]; 													// Номер подъезда дома
	$query="INSERT INTO doma ( `name`, `code`, `index`, `gninmb`, `uno`, `np`) 
    	    VALUES ('".$name."', '".$code."', '".$index."', '".$gninmb."', '".$uno."', '".$np."')";
	$result =  mysql_query ($query) or  die ("не удалось импортировать информацию");};
}

 function  Replace_Socrbase()
{	$open_db= dbase_open ('../www/File/arhivKladr/Socrbase.dbf',  0 ); 	// открываем файл из которого будем производить импорт данных
	$records= dbase_numrecords ($open_db);     						// Количество записей в импортируемом файле
     for  ($i= 1 ; $i<= $records; $i++)          						// Переход на следующ. запись
	{$row=  dbase_get_record ($open_db, $i); 							// Чтение записи
	 $level=$row[ 0 ]; 												// Уровень объекта данного типа
	 $scname=$row[ 1 ]; 												// Сокращенное наименование типа объекта
	 $socrname=$row[ 2 ]; 											// Полное наименование типа объекта
	 $kod_t_st=$row[ 3 ]; 											// Код типа объекта
	$query="INSERT INTO Socrbase ( `level`, `scname`, `socrname`, `kod_t_st`) 
    	    VALUES ('".$level."', '".$scname."', '".$socrname."', '".$kod_t_st."')";
	$result =  mysql_query ($query) or  die ("не удалось импортировать информацию");};
}

 function  Replace_Altnames()
{	$open_db= dbase_open ('../www/File/arhivKladr/Altnames.dbf',  0 ); 	// открываем файл из которого будем производить импорт данных
	$records= dbase_numrecords ($open_db);     						// Количество записей в импортируемом файле
     for  ($i= 1 ; $i<= $records; $i++)          						// Переход на следующ. запись
	{$row=  dbase_get_record ($open_db, $i); 							// Чтение записи
	 $oldcode=$row[ 0 ]; 												// Уровень объекта данного типа
	 $newcode=$row[ 1 ]; 												// Сокращенное наименование типа объекта
	 $level=$row[ 2 ]; 												// Полное наименование типа объекта
	$query="INSERT INTO Socrbase ( `oldcode`, `newcode`, `level`) 
    	    VALUES ('".$oldcode."', '".$newcode."', '".$level."')";
	$result =  mysql_query ($query) or  die ("не удалось импортировать информацию");};
}

?>




<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru-ru" lang="ru-ru"  dir ="ltr" >
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
<head>
  <title>Загрузка файлов на сервер</title>
</head>
<body>


      <h2><p><b> Администрирование баз КЛАДРа </b></p></h2>
      
      <form action="index1.php" method="post" enctype="multipart/form-data">
<p><b> Копирование файлов КЛАДРа в формате *.rar на сервер </b></p>
      
       <p>Введите РёРјСЏ хоста:  
         <input value='localhost' type=text name = namehost>
  Р’ведите РёРјСЏ БД:
<input  value='site' input type=text name = nameBD>
  Р˜РјСЏ пользователя:
<input value='site' input type=text name = user>
  РџР°СЂРѕР»СЊ:
<input value='123' input type=text name = password>
       </p>
       <p>
         <input type="hidden" name="MAX_FILE_SIZE" value="300000" />
       Укажите архив(*.rar) баз КЛАДРа: <input name="userfile" type="file" />
       <br> 
      <input type="submit" name = copykladr value="Загрузить и обновить базы КЛАДРа"><br>
       </p>
</form>

</body>
</html>
...
Рейтинг: 0 / 0
25.12.2010, 07:52
    #37035040
Scorp1978
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP и КЛАДР
чет с кодировкой не лады, если надо позже выложу с нормальным русским
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP и КЛАДР / 25 сообщений из 40, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]