|
|
|
| Здравствуйте Уважаемое сообщество.
Хотел бы написать php обработчик которы бы копировал все рисунки с определённого адреса (http://www.photoshop-master.ru/lessons.php?rub=1&id=1689) которые содержатся между тегами
<div class="Text">
<img height="33" src="/lessons/les1689/02.jpg" width="442" />
<img height="340" src="/lessons/les1689/03.jpg" width="450" />
....
<img height="262" src="/lessons/les1689/01.jpg" width="450" />
</div>
|
рисунки хотел бы копировать в папку images например
Ни подскажете от какого кода мне отталкиваться? | |
|
|
|
|
|
|
|
для: pautina
(30.12.2011 в 15:33)
| | Смотрите у меня будет таблица category1 БД photoshop-portal, в поле Field 7 этой таблицы будет содержаться html код определённой страницы
т.е. содержимое одной ячейки Field 7 (для страницы http://www.photoshop-master.ru/lessons.php?rub=1&id=1689) имеет вид
<div class="Text">
<div id="demotip"> </div>
<div class="Gadget2"><div class="Gadget2SmoothTopLine"><div class="Gadget2SmoothTopLeft"><div class="Gadget2SmoothTopRight"> <img src="images/content-smooth-top-right.gif"></div></div></div><div class="Gadget2Content"><div class="Gadget2ContentLeft"><div class="Gadget2ContentRight"><!-- Content --><div class="TextInside">
<br /> <a id="printPage" href="http://www.photoshop-master.ru/lessons.php?rub=3&id=1055"><img src="/img/print.png" alt="распечатать" /></a>
<p><strong><a href="/lessons.php">Уроки Photoshop</a></strong> » <strong><a href="/lessons.php?rub=1">Рубрика: Эффекты</a></strong></p><br />
<h1 style='text-align:center'>Создаём абстрактное золотое кольцо в Фотошоп</h1><p align="left">
В этом уроке я покажу вам, как создать абстрактную золотую сферу с эффектом дыма.</p>
<p align="center">
<img height="262" src="/lessons/les1689/01.jpg" width="450" /></p>
<p>
Для урока вам понадобятся <a href="http://qbrushes.net/smoke-fire/revnart-smoke-brushes/">специальные кисти</a>.</p>
<p>
<strong>Шаг 1.</strong> Создаем новый документ любого размера с черным фоном. Создаем новый слой и берем <strong>Elliptical </strong><strong>Marquee </strong><strong>Tool</strong> <img height="23" src="tools/Elliptical Marquee.jpg" width="27" /> (Овальное выделение) (M) с такими параметрами:</p>
<p align="center">
<img height="33" src="/lessons/les1689/02.jpg" width="442" /></p>
<p>
...
</div> <!-- for div class="Text"-->
|
Таких ячеек уменя 20 штук, и во всех 20 ячейках хранится свой html код для страниц
http://www.photoshop-master.ru/lessons.php?rub=1&id=1689
http://www.photoshop-master.ru/lessons.php?rub=1&id=1677
http://www.photoshop-master.ru/lessons.php?rub=1&id=1661
...
http://www.photoshop-master.ru/lessons.php?rub=1&id=1424
Мне нужно написать php обработчик который бы копировал все рисунки из каждой ячейки в определённую папку.
Рисунков там несколько, т.е. для каждой ячейки после её обновления мы
1) должны получить массив типа
<img height="33" src="/lessons/les1689/02.jpg" width="442" />
<img height="23" src="tools/Elliptical Marquee.jpg" width="27" />
<img height="33" src="/lessons/les1689/02.jpg" width="442" />
Здесь пишем регулярное выражение которое из всего содержимого ячейки вырезает всё что содержится в <img .../>
2) Дальше из массива с img мы должны оставить только текстовые адреса самих рисунков
/lessons/les1689/02.jpg
tools/Elliptical Marquee.jpg (если в коде нет слеша то его нужно поставить 1 символом)
/lessons/les1689/02.jpg
Это условие тоже описываем регулярным выражением и из массива <img .../> вырезать только то что содержится в src между кавычками.
3) К получившимся текстовым адресам самих рисунков мы прикрепляем http://www.photoshop-master.ru в итоге должно получится
http://www.photoshop-master.ru/lessons/les1689/02.jpg
[url]http://www.photoshop-master.ru/tools/Elliptical Marquee.jpg[/url]
...
http://www.photoshop-master.ru/lessons/les1689/02.jpg
Таким образом мы получим массив всех рисунков для определённой записи, эти рисунки будут доступны (по адресу можно зайти на сам рисунок)
4) и поледним этапом нужно скопировать все рисунки в папку
images/lessons/les1689 (это для 1 материала http://www.photoshop-master.ru/lessons.php?rub=1, для другого материала рисунки копируются в другую папку)
папка lessons и вложенные в неё напки les1689 (для всех материалов) будут уже созданы, нужно только скопировать туда рисунок, пути там похожи добавляется только images.
За основу можно взять этот участок кода.
<?php
$conn = mysql_connect ("localhost", "root", "")
or die ("Соединение не установлено!");
mysql_select_db("bd_photoshop-portal", $conn);
$query = "SELECT * FROM category1";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
if(mysql_num_rows($cat))
{
while($catagory = mysql_fetch_assoc($cat))
{
// Осуществляем преобразование URL
preg_match('#href="(.*)"#siU', $catagory['Field 2'], $matches);
// найденное совпадение сохраняется в $matches, для этого оно в функцию и передается
// и брать его потом для запроса нужно именно оттуда
$newField_2 = mysql_escape_string('http://www.photoshop-master.ru/' . $matches[1]);
// Запрос для обновления
$query = "UPDATE category1
SET `Field 2` = '{$newField_2}'
WHERE ID = {$catagory['ID']}";
if(!mysql_query($query))
{
exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
}
echo 'Запрос выполнен успешно';
}
}
?>
|
Здесь содержимое ячейки обновляется по определённому условию
разница в том что нам на выходе нужно данные для каждой ячейки записывать в массив, т.к. рисунков несколько и рисунки нужно копировать между тегами <div class="Text">...</div> .
Ни подскажете как это сделать? | |
|
|
|