Реклама на сайте Advertise with us

FTP: закачать определенные файлы из разных папок

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

PHP-программинг

С нами с 26.03.07
Сообщения: 821
Рейтинг: 917


Передовик Master-X (16.05.2008)
Ссылка на сообщениеДобавлено: 04/04/08 в 10:26       Ответить с цитатойцитата 

Проблема: нужно поменять ссылки на фришниках (зеркальных, ~10 зеркал). Меняю на локалке ссылку во всех, это просто. А вот можно ли как-нибудь закачать только измененные файлы, чтобы не затрагивались все остальные файлы типа контента, баннеров и т.д. (например, нужно только index.html закачать) ?
Вручную это делать просто нереально, потому что нужно поменять линк на 100 0 файлов в разных дирах на серваке...

Может есть какой-нибудь фтп-клиент, который может по маске или ещё помочь в такой ситуации?

0
 



С нами с 18.08.03
Сообщения: 426
Рейтинг: 1102


Передовик Master-X (16.05.2007) Передовик Master-X (01.06.2007)
Ссылка на сообщениеДобавлено: 04/04/08 в 10:44       Ответить с цитатойцитата 

а что хост статика?
я помню кто-то или тут или на умаксе или на 4сео, выкладывал код пхп скрипта для внесения изменений в существующие хтсл файлы на хосте (в папке и во всех вложенных)

no signature

0
 



С нами с 18.08.03
Сообщения: 426
Рейтинг: 1102


Передовик Master-X (16.05.2007) Передовик Master-X (01.06.2007)
Ссылка на сообщениеДобавлено: 04/04/08 в 11:26       Ответить с цитатойцитата 

Скрипт предназначен для поиска и замены одной подстроки на другую
во всех файлах определенной директории на сервере
(включая файлы во всех вложенных поддиректориях)

Которые понимаюь - легко сделают вариант с регулярными выражениями для себя.

---------- sr.php - начало цитаты ---------

<?
$work_dir="./";
// рабочая директория - обязательно должна заканчиваться
// символом "/"

$excl_dir=array();
$excl_dir[0]="./no_work_here/";
$excl_dir[1]="./and_here/and_here/";

// директории, где поиск/замена не производятся - обязательно должны заканчиваться
// символом "/"


$file_mask_1=".html";
$file_mask_2=".js";
// маски обрабатываемых файлов (будут обработаны все файлы,
// содержащие данную строку в имени)

$search_str="test"; #что ищем
$replace_str="TEST"; #чем заменяем

//******************************************************

$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";

?>

---------- sr.php - конец цитаты ---------


вот скрипт, прошу прощения у авторов

no signature

5
 

PHP-программинг

С нами с 26.03.07
Сообщения: 821
Рейтинг: 917


Передовик Master-X (16.05.2008)
Ссылка на сообщениеДобавлено: 04/04/08 в 12:02       Ответить с цитатойцитата 

большое спасибо за скрипт, попробую заюзать
Пока нашёл ещё один вариант с прогой site publisher, он синхронизирует с локальную папку с фтп и планировочно может закачивать на хост файлы, которые были изменены.

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »