Подскажите

Тема в разделе "PHP", создана пользователем dalera, 17 ноя 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. dalera

    dalera Создатель

    Регистр.:
    24 сен 2009
    Сообщения:
    42
    Симпатии:
    1
    Народ поскажите хотяб кусочек кода как здесь http://4seo.biz/tools/ только не онлайн а чтоб код.
    Код для Разрезки текстовых файлов, указываешь через сколько строк делить и все.

    ПОжалуЙстаа..
     
  2. Sanuch

    Sanuch

    Регистр.:
    25 май 2009
    Сообщения:
    207
    Симпатии:
    70
    PHP:
    $maxLine 100;
    $inputFile = @fopen('input.txt''r');
    $currentFileIndex 0;
    $currentLine 0;
    $gzOutput = @gzopen('output' $currentFileIndex '.gz','wb9');
    while(!@
    feof($inputFile)) {
        if ((
    $line = @fgets($inputFile)) !== false) {
            if (
    $currentLine >= $maxLine) {
                @
    gzclose($gzOutput);
                
    $currentFileIndex++;
                
    $gzOutput = @gzopen('output' $currentFileIndex '.gz','wb9');
                
    $currentLine 0;
            }
            @
    gzwrite($gzOutput$line);
            
    $currentLine++;
            
        }
    }
    @
    fclose($inputFile);
    @
    gzclose($gzOutput);
     
    dalera нравится это.
  3. System777

    System777 Создатель

    Регистр.:
    20 апр 2008
    Сообщения:
    30
    Симпатии:
    13
    Вот написал ещё один из вариантов решения (с комментариями) - только в результате получается не zip-архив, а просто отдельные txt-файлы part1.txt, part2.txt и т.д.

    PHP:
            $filename 'файл_для_нарезки.txt';        
            
    $per_file 2000//Сколько строк в одном файле?
            
            //Далее идёт программный подсчёт 
            
    $f file ($filename); //Читаем файл
            
            
    $lines_count count ($f); //Всего линий в файле
            
    $count floor ($lines_count/$per_file) + 1//Сколько будет файлов?
            
            
    $pos 0//Позиция в массиве
            
            
    for ($j=1$j<=$count$j++) {
                
                
    $fdata ''//Данные для файла
                
                
    for ($i=1$i<=$per_file$i++) {
                    
                    if (
    $pos>=$lines_count) break; //Выходим из этого цикла если файл закончен
                    
                    
    $fdata .=  $f[$pos]."\r\n"//Добавляем строчку                                
                    
    $pos++; //Увеличиваем позицию на 1
                
    }
                
                
    //Запись 1 файла
                
    $fp fopen ('part'.$j.'.txt','w');
                
    fwrite ($fp,$fdata);
                
    fclose ($fp);
                
            }  
            
            echo 
    'Завершено';
    При желании можно потом подключить и zip-функции.
     
    dalera нравится это.
  4. alexz15

    alexz15

    Регистр.:
    3 окт 2008
    Сообщения:
    394
    Симпатии:
    189
    dalera нравится это.
  5. Yfo

    Yfo Создатель

    Регистр.:
    30 окт 2007
    Сообщения:
    43
    Симпатии:
    4
    Если не обязательно на php, то лучше юзать Keyword Keeper
     
  6. satih

    satih

    Регистр.:
    19 сен 2008
    Сообщения:
    429
    Симпатии:
    710
    Keyword Keeper по строкам не делит, вообще, как-то было в лом писать, начал копать гугл, так и не нашел проги которая делила бы по строкам, не по символам, количеству слов и т.д., а именно по строкам.
     
  7. CyberScript

    CyberScript Создатель

    Регистр.:
    14 ноя 2009
    Сообщения:
    10
    Симпатии:
    1
    Для архивации в ZIP могу порекомендовать библиотеку pclzip.lib.php (ищите в поиске). Хорошая вещь.
     
Статус темы:
Закрыта.