Помощь php

Discussion in 'PHP' started by OBY, 12 Nov 2013.

  1. OBY

    OBY Banned

    Joined:
    27 Feb 2013
    Messages:
    26
    Likes Received:
    2
    Reputations:
    0
    Ребята, нужна помощь php.

    Есть куча папок с файлом main.dat, в этом файле нужно изменить одну строку, значение этой строки нужно брать из текстового файла по очереди.

    Всем заранее спасибо.
     
  2. verpob

    verpob New Member

    Joined:
    27 Oct 2013
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Автоматизировать процесс нужно или что?
    Подробнее расписывайте проблему.
     
  3. OBY

    OBY Banned

    Joined:
    27 Feb 2013
    Messages:
    26
    Likes Received:
    2
    Reputations:
    0
    да автоматизировать, чтобы скрипт сам прошелся по папкам и сделал изменения в выше указанном файле в куске кода между <!-- site_title --> и <!-- site_title -->, брав новое значение строки из текстового файла по очереди, забыл папки у меня в алфавитном порядке и строки в текстовом файле тоже, это важно, чтобы не спуталась очередность редактирования. т.к. каждому файлу в папке соответсвует свое значение из файла. блин, наверно понятно написал), но если остались вопросы пишете. напишу подробнее
     
  4. verpob

    verpob New Member

    Joined:
    27 Oct 2013
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Если сточка в фалах везде одинаковая то
    Notepad++
    [​IMG]
    не?
     
  5. OBY

    OBY Banned

    Joined:
    27 Feb 2013
    Messages:
    26
    Likes Received:
    2
    Reputations:
    0
    не, строчка там разная
     
  6. OBY

    OBY Banned

    Joined:
    27 Feb 2013
    Messages:
    26
    Likes Received:
    2
    Reputations:
    0
    парни, для знающего php, это займет 15-20 мин, готов закинуть 150 вмр за работу.
     
  7. qw1mb1

    qw1mb1 Member

    Joined:
    8 Feb 2013
    Messages:
    113
    Likes Received:
    16
    Reputations:
    8
    Code:
    <?php
    $dir = './'; //директория, в которой искать папки с файлами (по умолчанию текущая)
    $filename = "main.dat";
    $textfile = "text.txt"; //текстовый файл со строками для замены
    $skip = array(".", ".."); //сюда можно добавить имена папок, которые не надо обходить
    
    function replace($subject, $replace, $from, $to)
    {
    	$k = strpos($subject, $from) + strlen($from);
    	$res = substr($subject, 0, $k).$replace;
    	$k = strpos($subject, $to, $k);
    	$res .= substr($subject, $k);
    	return $res;
    }
    
    $files = scandir($dir);
    foreach($files as $file) {
    	if(!in_array($file, $skip)&&is_dir($file))
    		$dirs[] = $file;
    }
    sort($dirs, SORT_STRING);
    $text = file($textfile);
    for ($i=0; $i<count($dirs); $i++)
    {
    	$file = file_get_contents($dir.$dirs[$i]."/$filename");
    	$file = replace($file, trim($text[$i]), "<!-- site_title -->", "<!-- site_title -->");
    	file_put_contents($dir.$dirs[$i]."/$filename", $file);
    }
    ?>
    
     
  8. OBY

    OBY Banned

    Joined:
    27 Feb 2013
    Messages:
    26
    Likes Received:
    2
    Reputations:
    0
    отписал в ЛС