Замена ссылок в кнопке

Тема в разделе "Вопросы новичков", создана пользователем Daneon, 6 дек 2009.

Статус темы:
Закрыта.
  1. Daneon

    Daneon Создатель

    Регистр.:
    18 сен 2009
    Сообщения:
    15
    Симпатии:
    1
    Добрый вечер! Во-первых, чтобы не обжечься, советую не использовать сервис tinyurl.ru ибо *404 — такой короткой ссылки нет*
    Подскажите, пожалуйста, как удобнее теперь заменить ссылки в кнопке? Вот нашел скрипт для массовой замены, но пользоваться не умею(новичек). Можт кто объяснит?
    <?
    $work_dir=”./”;
    // рабочая директория - обязательно должна заканчиваться
    // символом “/”
    $excl_dir=array();
    $excl_dir[0]=”./webstat/”;
    $excl_dir[1]=”./cgi-bin/”;
    // директории, где поиск/замена не производятся - обязательно должны заканчиваться
    // символом “/”
    $file_mask_1=”.html”;
    $file_mask_2=”.js”;
    // маски обрабатываемых файлов (будут обработаны все файлы,
    // содержащие данную строку в имени)
    $search_str=”<noindex></DIV>”; #что ищем
    $replace_str=”</DIV>”; #чем заменяем
    //******************************************************
    $level=0;
    function sr($dir)
    {
    global $level,$file_mask_1,$file_mask_2,$search_str,$replace_str,$excl_dir;
    echo “<b>”;
    for ($i=0;$i<$level;$i++) echo “* * “;
    echo $dir.”</b>”;
    if (@in_array($dir,$excl_dir))
    {
    echo ” - needn’t search & replace<br>”;
    return;
    }
    echo “<br>”;
    $p = dir($dir);
    while($ent=$p->read())
    {
    if ($ent!=”.” && $ent!=”..” && !is_dir($dir . $ent) && (eregi(sql_regcase($file_mask_1),$ent) || eregi(sql_regcase($file_mask_2),$ent)))
    {
    $tmp=@file($dir.$ent);
    $str=@implode(”",$tmp);
    if (strpos(”@!#%xrenoder^&*()”.$str,$search_str))
    {
    for ($i=0;$i<($level)+1;$i++) echo “* * “;
    echo $dir.$ent.” found…”;
    $str=str_replace($search_str,$replace_str,$str);
    if ($fp=@fopen($dir.$ent, “w”))
    {
    flock($fp,LOCK_EX);
    fwrite($fp,$str);
    fclose($fp);
    echo ” and replace<br>”;
    }
    else echo ” and <b>can’t replace</b><br>”;
    }
    }
    elseif($ent!=”.” and $ent!=”..” and is_dir($dir . $ent))
    {
    $level++;
    sr($dir.$ent.”/”);
    $level–;
    }
    }
    $p->close();
    return;
    }
    sr($work_dir);
    echo “SEARCH & REPLACE Complete”;
    ?>
     
  2. Mongolor

    Mongolor

    Регистр.:
    5 дек 2007
    Сообщения:
    157
    Симпатии:
    29
    Вообще-то код достаточно хорошо прокомментирован, просто логически помыслив и посмотрев первые 20 строчек кода, можно догадаться, что нужно поменять, чтобы все было как нужно.
    А именно:
    Имя директории в которой следует делать замены
    Имена директорий в которых не следует делать замены
    Маски файлов(т.е. если хочешь заменять в текстовых то пишешь маску ".txt" и т.п. смотря какие у тя файлы.)
    Что заменять
    Чем заменять
     
  3. Daneon

    Daneon Создатель

    Регистр.:
    18 сен 2009
    Сообщения:
    15
    Симпатии:
    1
    тот же

    Спасибо. разобрался...Чтобы потом меньше создавалось тем,подобных этой, напишу, в чем были затруднения. Во-первых права файлов мешали изменить текст. Во-вторых, папка, в которой нужно было изменить, имела немного другой вид. Этот самый вид можно найти в ошибке,которую выдает скрипт.
     
Статус темы:
Закрыта.