Спасибо. Но не уточнил что текстовый файл очень большой, больше 50млн. строк в нём.
Структура таблицы:
id (INT) - auto_increment
text (varchar)
В phpmyadmin никак нельзя импортировать такой файл в "столбец" text?
Поясните пожалуйста подробнее. Значит у вас больше трафика не получается, а у нового человека получится?
Сколько времени нужно уделять теме? Сколько трафика удаётся добывать с 5000руб? Тема трафика может быть любой?
Покажите пожалуйста пример дорвея. Софт десктопный или серверный? Под любую тематику подойдёт?
Joker-jar, спасибо.
А можно сделать чтобы пока 5 раз замены не произойдёт, функция не переставала работать?
Т.е. чтобы именно 5 раз rand(0,1) выдал 1.
Чтобы 5 замен в тексте было и функция завершила работу?
Может можно единицу сохранять в переменную и пока переменная меньше 5 выполнять функцию?
Всем спасибо за внимание к проблеме.
Оказывается действительно в коде дело.
Вставил такую функцию:
function getmicrotime() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); }
Раскидал по коду в разных частях
echo "<br>".getmicrotime();
И выявил 2 функции, которые очень тормозили процесс, переписал их и сейчас скорость вполне приличная :)
т.е. записывать сначало данные в массив, а потом из массива в файлы? Всёравно циклом вытаскивать элементы с массива придётся :(
да хотябы раз в 5-10 поднять, сейчас в моём варианте 1000 файлов генерируется за 5 минут :(
вариант LEOnidUKG хорош, но не понятна реализация :( сейчас вот хочу попробовать подобную функцию написать чтобы на входе получала путь (куда сохранять файл) и содержимое. Копаю курл.
LEOnidUKG, а если file_put_contents в одном цикле около 7ми, не будут они конфликтовать или например ошибки с записью файлов возможны? Если бот не закончит запись, а тут ему ещё один GET запрос прилетает? :)
Unsiker, спасибо! Код для примера привёл, т.е. так то сохраняются файлы разные, я то изначально и решил что вся проблема в str_replace, так как именно эта функция преобладала в моём коде, но оказывается вот как всё повернулось :)
Почитал по ним, прирост совсем не существенный для такого заморачивания :( Но расширил кругозор, спасибо :)
Ага, ошибся, хорошо люди умные поправили, а то я уже php5-fss смотрел, а оно и не помогло бы даже :(
То, что обрабатывается подхватывается 1 раз, т.е. в скрипте в основном запись на диск идёт, спасибо почитаю подробнее по ramdrive
спасибо, о такой возможности знаю, но нужно именно создание файлов :(
спасибо, вот это интересно, даже и не подумал об этом, впринципе можно разделить скрипт на несколько и запустить сразу все, но попробую такую реализацию, спасибо за идею. Может где пример такой реализации можно глянуть? Т.е. получается можно написать 10 таких функций и скрипт будет продолжать работать записывая данные в фоновом режиме?
Спасибо, деление как раз так и продумано что по завершению работы скрипта в каждой папке не более 1000 файлов
Спасибо вам, сейчас закомментировал все str_replace, посмотрел, и действительно всё время уходит на запись :( str_replace занимает всего доли секунд.
Может подскажите возможно ли ускорить процесс записи в файл? Может есть какие расширения для этого? Или может с FAT32 PHP намного быстрее работает? Я уже и eAccelerator и Zend ставил, не помогает.
Dreammaker, тогда придётся импортировать текстовый файл 300мб-2Гб в базу, что неудобно.
GizmoKoenig, спасибо огромное, работает быстрее.
Joker-jar, огромное спасибо за помощь, тоже работает быстро, базу в 2 миллиона обрабатывает за минуту :)
Спасибо всем за помощь!