HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #7081  
Старый 18.12.2008, 18:44
zythar
Moderator - Level 7
Регистрация: 16.02.2008
Сообщений: 580
Провел на форуме:
1595333

Репутация: 291


Отправить сообщение для zythar с помощью ICQ
По умолчанию

http://www.tizag.com/phpT/fileupload.php
 
Ответить с цитированием

  #7082  
Старый 18.12.2008, 20:29
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме:
16641028

Репутация: 2371


По умолчанию

[R]eD, возможно не указана или неверно указана временная папка? Или нет прав для записи туда?
 
Ответить с цитированием

  #7083  
Старый 19.12.2008, 00:27
m0nsieur
Участник форума
Регистрация: 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 
 
Ответить с цитированием

  #7084  
Старый 19.12.2008, 00:57
Naydav
Постоянный
Регистрация: 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 все делать
 
Ответить с цитированием

  #7085  
Старый 19.12.2008, 01:07
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

Файловый резак, причем с исходниками:

http://old.softerra.ru/softnews/2002/5/6/20594/
 
Ответить с цитированием

  #7086  
Старый 19.12.2008, 01:14
ss88
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме:
298300

Репутация: 128
Отправить сообщение для ss88 с помощью ICQ
По умолчанию

Цитата:
Сообщение от Naydav  
Сообщество, Добрый вечер!
Вообщем варианты может есть?
или придется все-таки через file все делать
А чем тебе не нравится построчное считывание? В соответствии с правилами твоей задачи, считывать по одной строке, проводить ее анализ и выполнять далее какие-то действия... Сомневаюсь, что выйдет гиперсложный алгоритм, тем более, что тебе, вобщем-то, насколько я понял, не надо проверять корректность данных... Так что можно помозговать, рассказывай конкретнее
 
Ответить с цитированием

  #7087  
Старый 19.12.2008, 01:16
Naydav
Постоянный
Регистрация: 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..
 
Ответить с цитированием

  #7088  
Старый 19.12.2008, 01:25
ss88
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме:
298300

Репутация: 128
Отправить сообщение для ss88 с помощью ICQ
По умолчанию

ты не понял, я не говорю о том, чтобы затягивать в память такую громадину, это, действительно, было бы глупо, а читать его, ИМХО, нужно построчно и передвигать указатель в файле, таким образом мы уйдем от больших затрат памяти, но получим затраты времени на обращение к ЖД и процессороного времени, но это уже будет совсем не такой критичный к ресурсам алгоритм. А еще лучше будет читать это все порциями...

Последний раз редактировалось ss88; 19.12.2008 в 01:31..
 
Ответить с цитированием

  #7089  
Старый 19.12.2008, 01:27
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

Цитата:
Сообщение от Naydav  
Извини конечно, но зачем мне "Файловый резак"???
Не знаю, зачем, но я только что за 3 сек порезал дамп весом в 43 мб на 89 частей каждая по 500 кб. Не надо так не надо. Умничай дальше
 
Ответить с цитированием

  #7090  
Старый 19.12.2008, 01:31
Naydav
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме:
849583

Репутация: 210
По умолчанию

Цитата:
Сообщение от ss88  
ты не понял, я не говорю о том, чтобы затягивать в память такую громадину, это, действительно, было бы глупо, а читать его, ИМХО, нужно построчно и передвигать указатель в файле, таким образом мы уйдем от больших затрат памяти, но получим затраты времени на обращение к ЖД и процессороного времени, но это уже будет совсем не такой критичный к ресурсам алгоритм
Я не могу считывать его построчно, так как не знаю размер строки...
Может я я не могу понять, что ты хочешь сказать, можно пример?

как реализовать считыванеи построчно? например прочтения 564 000 -ой строки?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Сценарии/CMF/СMS 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ