ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

18.12.2008, 18:44
|
|
Moderator - Level 7
Регистрация: 16.02.2008
Сообщений: 580
Провел на форуме: 1595333
Репутация:
291
|
|
http://www.tizag.com/phpT/fileupload.php
|
|
|

18.12.2008, 20:29
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
[R]eD, возможно не указана или неверно указана временная папка? Или нет прав для записи туда?
|
|
|

19.12.2008, 00:27
|
|
Участник форума
Регистрация: 08.04.2008
Сообщений: 242
Провел на форуме: 2230263
Репутация:
229
|
|
2 Isis у него не указана папка и используется которая по умолчанию, вот его конфиг который он выше приводил.
PHP код:
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =
|
|
|

19.12.2008, 00:57
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
Сообщество, Добрый вечер!
Вопрос:
Есть файл текстовый вида
ClientNo Surname Name Secname Date_birth INN
----------- ---------------------------- -------------------- ---------------------------- ------------------------------------------------------ ----------
154 XXX Борис Федорович 1952-06-23 00:00:00 1916714698
5361 XXX Анжела Дмитрівна 1967-11-21 00:00:00 2479608221
5398 XXX Василь Омелянович 1956-05-27 00:00:00 2060116415
(3 row(s) affected)
AccountMemberNo FondNo ClientNo Date_open Date_close ContractNo Rest1 Rest2
--------------- ------ ----------- ------------------------------------------------------ ------------------------------------------------------ ----------- --------------------- ---------------------
1766 1 154 2005-02-01 00:00:00.000 NULL 2 10692.6800 8264.4285
2998 1 154 2006-09-18 10:52:39.333 NULL 39 57056.2700 44099.0711
5341 2 5361 2008-07-16 00:00:00.000 NULL 45 251.7000 356.3554
5386 3 5398 2008-09-03 17:10:45.610 NULL 196 203.3800 199.6330
(4 row(s) affected)
AccountMemberNo Date_oper Type_operNo Name_oper Summ1 Summ2 Epv
--------------- ------------------------------------------------------ ----------- ---------------------------------------------------------------------------------------------------- --------------------- --------------------- -----------------------------------------------------
1766 2005-02-01 14:43:47.350 2 Відкриття рахунку .0000 .0000 1.0
1766 2005-02-23 15:30:14.730 0 Внесок ІПР від юр.особи 570.0000 570.0000 1.0
1766 2005-03-01 09:05:53.000 14 Нарахування прибутку .0600 .0000 1.0001069482802716
1766 2005-03-23 14:55:30.660 0 Внесок ІПР від юр.особи 570.0000 569.9390 1.0001069482802716
1766 2005-04-01 09:08:21.000 14 Нарахування прибутку 7.1800 .0000 1.0064007049862715
1766 2005-04-20 12:00:48.077 0 Внесок ІПР від юр.особи
Это, как вполне можно понять - дамп базы
Нужно из текстового файла забить в таблицы
Как решения, можно написать класс, который будет считывать файл в массив с помошью функции file, проходится по всем строкам...
В зависимости от входящей строки, принимать решения - создать таблицу, вставить в таблицу запись, конец таблицы.
Что-то типа конечного автомата
Все бы неплохо, вот только прислали мне файлы метров под 70(и это не предел), с 300 000 строками
Вопрос не в timelimit, тут никакой памяти не хватит...
Считывать побайтово? Но как получать начальное состояние тогда...
Вообщем варианты может есть?
или придется все-таки через file все делать
|
|
|

19.12.2008, 01:07
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Файловый резак, причем с исходниками:
http://old.softerra.ru/softnews/2002/5/6/20594/
|
|
|

19.12.2008, 01:14
|
|
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме: 298300
Репутация:
128
|
|
Сообщение от Naydav
Сообщество, Добрый вечер!
Вообщем варианты может есть?
или придется все-таки через file все делать
А чем тебе не нравится построчное считывание? В соответствии с правилами твоей задачи, считывать по одной строке, проводить ее анализ и выполнять далее какие-то действия... Сомневаюсь, что выйдет гиперсложный алгоритм, тем более, что тебе, вобщем-то, насколько я понял, не надо проверять корректность данных... Так что можно помозговать, рассказывай конкретнее
|
|
|

19.12.2008, 01:16
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
Сообщение от Pashkela
Файловый резак, причем с исходниками:
http://old.softerra.ru/softnews/2002/5/6/20594/
Извини конечно, но зачем мне "Файловый резак"???
Тем боле Windows, я же не фильм на депозит выкладываю
Читаем внимательно вопрос!
Файл есстественно, можно было и вручную по таблицам разбить, в том то и вопрос, что система должна быть автоматизирована (по нажатию кнопочки), не мне обновлять, а заказчику...
А чем тебе не нравится построчное считывание? В соответствии с правилами твоей задачи, считывать по одной строке, проводить ее анализ и выполнять далее какие-то действия... Сомневаюсь, что выйдет гиперсложный алгоритм, тем более, что тебе, вобщем-то, насколько я понял, не надо проверять корректность данных... Так что можно помозговать, рассказывай конкретнее
Та алгоритм - не сложный, как я говорил, простой конечный автомат уже сделал, НО
С file все работате нормально на маленьких файлах...
Но большие скорее всего не потянет, вот и спрашиваю, может у кого есть другие идеи,
При 300 000 записей только в одной таблице, а таблицы будет скорее всего 3, нехватка памти, на локалхосте, еще ладно... но на серваке...
уже обдумаю о том, что заказчику понадобится выделенный сервант, что бы хотя бы с file запустить
Последний раз редактировалось Naydav; 19.12.2008 в 01:21..
|
|
|

19.12.2008, 01:25
|
|
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме: 298300
Репутация:
128
|
|
ты не понял, я не говорю о том, чтобы затягивать в память такую громадину, это, действительно, было бы глупо, а читать его, ИМХО, нужно построчно и передвигать указатель в файле, таким образом мы уйдем от больших затрат памяти, но получим затраты времени на обращение к ЖД и процессороного времени, но это уже будет совсем не такой критичный к ресурсам алгоритм. А еще лучше будет читать это все порциями...
Последний раз редактировалось ss88; 19.12.2008 в 01:31..
|
|
|

19.12.2008, 01:27
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Сообщение от Naydav
Извини конечно, но зачем мне "Файловый резак"???
Не знаю, зачем, но я только что за 3 сек порезал дамп весом в 43 мб на 89 частей каждая по 500 кб. Не надо так не надо. Умничай дальше
|
|
|

19.12.2008, 01:31
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
Сообщение от ss88
ты не понял, я не говорю о том, чтобы затягивать в память такую громадину, это, действительно, было бы глупо, а читать его, ИМХО, нужно построчно и передвигать указатель в файле, таким образом мы уйдем от больших затрат памяти, но получим затраты времени на обращение к ЖД и процессороного времени, но это уже будет совсем не такой критичный к ресурсам алгоритм
Я не могу считывать его построчно, так как не знаю размер строки...
Может я я не могу понять, что ты хочешь сказать, можно пример?
как реализовать считыванеи построчно? например прочтения 564 000 -ой строки?
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|