Autor Zpráva
Monkeys
Profil *
Potreboval by som poradit ako skopirujem vsetky obrazky zo stareho webu do internej zlozky.
Doteraz som to riesil kodom:

$path = $_SERVER['DOCUMENT_ROOT'] . "zlozka/download/";

array_map("unlink", glob($path."*"));

$url="http://testovacia-domena.sk/galeria";
$short_url = preg_replace('/\/(?!.*\/).*/', '/', $url);

$html = file_get_contents($url);

$doc = new DOMDocument();
@$doc->loadHTML($html);

$tags = $doc->getElementsByTagName('img');

foreach ($tags as $tag) {
copy($url . $tag->getAttribute('src'), $path . preg_replace('/^.*\//', '', $tag->getAttribute('src'))) ;
}

echo "Hotovo";

Tento kod mi nasiel vsetky obrazky a ulozil mi ich do lokalnej zlozky.

Tento problem je zasa iny cely HTML kod nema tag IMG je to poukladane v styloch:
<div style='background-image:url(http://neaka-domena.sk/0r3be7yn20/gallery/foto/img_0503.jpg?1429874177);'><a href ..... </div>

Rozmyslam ako prerobit ten prvy kod aby to naslo to co potrebujem.
Neake napady?

Vdaka
M.


Uz som si to vyriesil

preg_match_all("/url\((.*)\)/", $html, $match);
foreach ($match[1] as $m) {
copy(preg_replace("/\?.+/", "", $m), $path . preg_replace('/^.*\//', '', preg_replace("/\?.+/", "", $m))) ;

je tam trochu vela preg_replace - ov ale stiahlo mi to vsetko na prvy krat.
Ak ma niekto lepsie riesenie rad sa necham poucit.

M.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0