PHP скрипт
Надо на PHP
часто нужно поменять урл у картинок в базе при переезде сайтов или когда хочется вставить картинку в статью на сайте с чужого сайта(не хорошо это конечно :(( )
проблемка в том что я с регекспами не очень дружу..
задача:
1. на входе текст статьи в переменной, $path= путь куда записать картинку.
2. найти все картинки("a href" может быть много вариантов) если картинка в папке уже есть то надо к ней добавить уникальный(можно случайны с проверкой) префикс
3. переписать картинку в папку
4. заменить в тектсе все адреса на полученный адрес в папке $path
5. к движку надо привязатся поэтому просьба использовать переменные $path = путь для картинок и $text = сам текст
Вот я тут мудрил 2 дня если поможет...
function API_M_page_name($f)
{
global $SHM_multi;
$f1=basename($f);
$exploded = explode('.',$f1);
$ext = strtolower($exploded[1]);
$file_name=strtolower($exploded[0]);
$i = 0;
$ff.=$SHM_multi.'/_upload/'.$f;
while (file_exists('/'.$SHM_multi.'/_upload/'.$f1)) $f1=$file_name.($i++).'.'.$ext;
$ff=$SHM_multi.'/_upload/'.$f1;
return $ff;
}
// $id,lang, param
function API_M_page_goimg(&$arg)
{
global $SHM_numlang, $SHM_multi;
$L=$arg[1];
$result=APIfunc('db', 'select',array('page',array('id', 'title', 'text'),"cid='".$arg[0]."' and (lang='$SHM_numlang' or lang='all') ORDER BY lang DESC"));
$path=$SHM_multi.'/_upload';
if (mysql_num_rows($result)>0) {
// тут пытаемся поменять ссылки. и переписать картинку в path
list($id, $title, $text) = mysql_fetch_array($result);
$buf=strtolower($text);
preg_match_all('/
$o='Find image:
';
for($i=0; $i
$fin= $url[1][$i];
$fout=API_M_page_name($fin);
// $putdata=file_get_contents($fin);
// $handle = fopen ($fout, 'a');
// fwrite ($handle, $putdata);
// fclose ($handle);
$o.="$fin -> $fout
";
$text = $fin.$fout.str_replace($fin, $fout, $text);
}
$o.=$text;
APIfunc('db', 'update', array('page', array('title'=>$title, 'text'=>$txt), "id='".(int)$id."'"));
$o.='moving image - OK.';
}
return $o;
}
?>