|
 20.3 Кб |
|
| Здравствуйте Уважаемое сообщество.
У меня есть таблица table_effects.sql (файл создающий таблицу я прикрепил) в таблице в ячейке Image URL 1 содержатся рисунки, данные в этой ячейке такие
http://www.photoshop-master.ru/lessons/les1689/mini.jpg
http://www.photoshop-master.ru/lessons/les1677/mini.jpg
...
http://www.photoshop-master.ru/lessons/les1424/mini.jpg
Мне нужно скопировать эти рисунки в папки по пути path
Для этого использую скрипт
<?php
// header("Content-Type: text/html; charset=UTF-8");
$conn = mysql_connect ("localhost", "root", "")
or die ("Соединение не установлено!");
mysql_select_db("bd_photoshop-portal", $conn);
$query = "SELECT * FROM category_effects";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
if(mysql_num_rows($cat))
{
while($catagory = mysql_fetch_assoc($cat)) ;
{
$newImage_URL_1 = $catagory['Image URL 1'];
if (is_array($newImage_URL_1))
foreach($newImage_URL_1 as $link){
$file = dirname($link)."/"; // в конце каждой директории должен быть / иначе рисунки не скопируются в нужную папку
$path = $file;
// $path = str_replace("http://www.photoshop-master.ru","images", $file); // чтобы посмотреть пути для рисунков меняем эту строку на
$c = basename($link);
copy($link, $path.$c);
}
}
}
?>
|
Папки для копирования у меня подготовлены lessons / les1689, / les1677, / ... /les1424 они лежат на одном уровне с этим скриптом.
Но копирования не происходит не посмотрите в чём может быть ошибка? | |
|
|
|
|
|
|
|
для: pautina
(24.01.2012 в 15:36)
| | Воможно что то сэтими строками
$newImage_URL_1 = $catagory['Image URL 1'];
if (is_array($newImage_URL_1))
|
Ни посмотрите скрипт? | |
|
|
|
|
 20.3 Кб |
|
|
для: pautina
(25.01.2012 в 06:15)
| | Давайте делать 2-м способом.
У меня есть таблица category_effects.sql (файл таблицы я прикрепил) в поле Field 4 содержится html код, в нём есть 1 мини рисунок.
например для ячейки с ID=1
<LI><P class=index_lessons><IMG title="миниатюра к уроку Создай экспрессивную космическую иллюстрацию в Фотошоп" height=42 alt="миниатюра к уроку Создай экспрессивную космическую иллюстрацию в Фотошоп" src="lessons/les1677/mini.jpg" width=42><A href="lessons.php?rub=1&id=1677">Создай экспрессивную космическую иллюстрацию в Фотошоп</A><SPAN>Автор/Переводчик: <A class=small href="/lessons.php?aut=152">Садыгалиев Марат</A></SPAN> <BR><SPAN class=Hard>Сложность: <A class=small href="/lessons.php?dif=3">Усложненная</A></SPAN></P>
<P>В этом уроке вы узнаете, создать интересную иллюстрацию, используя различные техники, световые эффекты, цветокоррекцию.</P>
<P class=Created>Создан: 1.11.2011 | Просмотров: 53524 | Выполнено работ: 38</P>
Мне нужно скопировать эти мини рисунки (в каждой ячейке рисунок 1 может в скрипте не как массив описывать?).
Для этого использую скрипт
<?php
// header("Content-Type: text/html; charset=UTF-8");
$conn = mysql_connect ("localhost", "root", "")
or die ("Соединение не установлено!");
mysql_select_db("bd_photoshop-portal", $conn);
$query = "SELECT * FROM category_effects";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
if(mysql_num_rows($cat))
{
while($catagory = mysql_fetch_assoc($cat)) ;
{
preg_match_all('#src="([^"]+)"#i', $catagory['Field 4'], $matches); // показывает ссылку для изображения
$matches[1] = str_replace('/lessons', 'http://www.photoshop-master.ru/lessons', $matches[1]); // к адресу ссылки прибавляем http://www.photoshop-master.ru/
if (is_array($matches[1]))
foreach($matches[1] as $link){
$file = dirname($link)."/"; // в конце каждой директории должен быть / иначе рисунки не скопируются в нужную папку
$path = str_replace("http://www.photoshop-master.ru","images", $file);
$c = basename($link);
copy($link, $path.$c);
}
}
}
?>
|
Но копирования не происходит, папки для копирования подготовлены, файл скрипта и images/lessons/lesxxxx/ лежат на одном уровне.
Ни могли бы Вы посмотреть скрипт, почему не копируются рисунки? | |
|
|
|
|
|
|
|
для: pautina
(25.01.2012 в 16:42)
| | Для начала тут: preg_match_all('#src="([^"]+)"#i'......
а потом: $matches[1] = str_replace('/lessons',.......
я в ваших исходных данных нигде не вижу в атрибуте SRC строки '/lessons' | |
|
|
|
|
|
|
|
для: Sfinks
(25.01.2012 в 17:19)
| | Изменения сделал сейчас скрипт такой
<?php
// header("Content-Type: text/html; charset=UTF-8");
$conn = mysql_connect ("localhost", "root", "")
or die ("Соединение не установлено!");
mysql_select_db("bd_photoshop-portal", $conn);
$query = "SELECT * FROM category_effects";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
if(mysql_num_rows($cat))
{
while($catagory = mysql_fetch_assoc($cat)) ;
{
preg_match_all('#src="([^"]+)"#i', $catagory['Field 4'], $matches); // показывает ссылку для изображения
$matches[1] = str_replace('lessons', 'http://www.photoshop-master.ru/lessons', $matches[1]); // к адресу ссылки прибавляем http://www.photoshop-master.ru/
if (is_array($matches[1]))
foreach($matches[1] as $link){
$file = dirname($link)."/"; // в конце каждой директории должен быть / иначе рисунки не скопируются в нужную папку
$path = str_replace("http://www.photoshop-master.ru","images", $file);
$c = basename($link);
copy($link, $path.$c);
}
}
}
?>
|
Но мини рисунки не копируются, в чём может быть ошибка?
Кстати если делать копирование из строки по скрипту
<?php
$str = '<LI><P class=index_lessons><IMG title="миниатюра к уроку Создай экспрессивную космическую иллюстрацию в Фотошоп" height=42 alt="миниатюра к уроку Создай экспрессивную космическую иллюстрацию в Фотошоп" src="lessons/les1677/mini.jpg" width=42><A href="lessons.php?rub=1&id=1677">Создай экспрессивную космическую иллюстрацию в Фотошоп</A><SPAN>Автор/Переводчик: <A class=small href="/lessons.php?aut=152">Садыгалиев Марат</A></SPAN> <BR><SPAN class=Hard>Сложность: <A class=small href="/lessons.php?dif=3">Усложненная</A></SPAN></P>
<P>В этом уроке вы узнаете, создать интересную иллюстрацию, используя различные техники, световые эффекты, цветокоррекцию.</P>
<P class=Created>Создан: 1.11.2011 | Просмотров: 53524 | Выполнено работ: 38</P>
';
preg_match_all('#src="([^"]+)"#i', $str, $matches); // показывает ссылку для изображения
$matches[1] = str_replace('lessons', 'http://www.photoshop-master.ru/lessons', $matches[1]); // к адресу ссылки прибавляем http://www.photoshop-master.ru/
if (is_array($matches[1]))
foreach($matches[1] as $link){
$file = dirname($link)."/"; // в конце каждой директории должен быть / иначе рисунки не скопируются в нужную папку
$path = str_replace("http://www.photoshop-master.ru","images", $file);
// $path = str_replace("http://www.photoshop-master.ru","images", $file); // чтобы посмотреть пути для рисунков меняем эту строку на
// $path[] = str_replace("http://www.photoshop-master.ru","images", $file);
// $link = str_replace(' ','%20', $link); // обработка исключений для рисунков в имени которых есть пробел
$c = basename($link);
copy($link, $path.$c);
}
echo"<pre>";print_r($path);print_r($matches[1]);exit("</pre>");
?>
|
то копирование из строки идёт.
Почему не копируются рисунки из таблицы? | |
|
|
|
|
|
|
|
для: pautina
(26.01.2012 в 06:04)
| | БЛИН! А че у вас ";" делает в строке
<?
while($catagory = mysql_fetch_assoc($cat)) ;
| ??? | |
|
|
|
|
 649.7 Кб |
|
|
для: Sfinks
(26.01.2012 в 16:06)
| | ; из скрипта убрал, но копирования нет.
<?php
// header("Content-Type: text/html; charset=UTF-8");
$conn = mysql_connect ("localhost", "root", "")
or die ("Соединение не установлено!");
mysql_select_db("bd_photoshop-portal", $conn);
$query = "SELECT * FROM category_effects";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);
if(mysql_num_rows($cat))
{
while($catagory = mysql_fetch_assoc($cat))
{
preg_match_all('#src="([^"]+)"#i', $catagory['Field 4'], $matches); // показывает ссылку для изображения
$matches[1] = str_replace('lessons', 'http://www.photoshop-master.ru/lessons', $matches[1]); // к адресу ссылки прибавляем http://www.photoshop-master.ru/
if (is_array($matches[1]))
foreach($matches[1] as $link){
$file = dirname($link)."/"; // в конце каждой директории должен быть / иначе рисунки не скопируются в нужную папку
$path = str_replace("http://www.photoshop-master.ru","images", $file);
// $path = str_replace("http://www.photoshop-master.ru","images", $file); // чтобы посмотреть пути для рисунков меняем эту строку на
// $path[] = str_replace("http://www.photoshop-master.ru","images", $file);
// $link = str_replace(' ','%20', $link); // обработка исключений для рисунков в имени которых есть пробел
$c = basename($link);
copy($link, $path.$c);
}
echo"<pre>";print_r($path);print_r($matches[1]);exit("</pre>");
}
}
?>
|
В прикреплённом архиве скрипт, папки для рисунков, и таблица БД.
Ни посмотрите скрипт? | |
|
|
|
|
|
|
|
для: pautina
(26.01.2012 в 17:58)
| | Прошу извинить все работает, спасибо за поддержку? | |
|
|
|
|
|
|
|
для: pautina
(27.01.2012 в 13:00)
| | Мм... Это вопрос? ) | |
|
|
|