Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Копирование рисунков в папки по определённому пути
 
 автор: pautina   (14.01.2012 в 08:18)   письмо автору
88.3 Кб
 
 

Здравствуйте Уважаемое сообщество.
Мне нужно скопировать рисунки в папки по определённому пути.
У меня есть таблица, в таблице 3 ячейки, в каждой ячейки html код, в этом коде может содержатся примерно 20-50 рисунков и эти рисунки нужно скопировать в определённую папку, имя папки связано с адресом рисунка.
Таблицу прикрепил в файле.
Для этого использую скрипт

<?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 material_content_into3";       
  
$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 3'], $matches); // показывает ссылку для изображения       
     
$matches[1] = str_replace('/lessons''http://www.photoshop-master.ru/lessons'$matches[1]); // к адресу ссылки прибавляем http://www.photoshop-master.ru/   
     
$matches[1] = str_replace('tools''http://www.photoshop-master.ru/tools'$matches[1]); // к адресу ссылки прибавляем http://www.photoshop-master.ru/   
      
     
$newField_3 = array(); 
        
     if (
sizeof($matches[1]))  
         foreach(
$matches[1] as $link) {      
             
$newField_3[] = $link;                 
             echo 
$link."<br />";           
         }     
           
      
// Запрос для обновления     
      
if (sizeof($newField_3)) { 
          
$query "UPDATE material_content_into3       
                    SET `Field 3` = '"
.implode(";",$newField_3)."'       
                    WHERE ID = 
{$catagory['ID']}";                                 
          if(!
mysql_query($query))       
          {       
            exit(
"Ошибка выполнения запроса - ".mysql_error()."<br />".$query);       
          }     
          echo 
'Запрос выполнен успешно';  
      }  
      else 
          echo 
"Not data in newField_3";     
    }       
  }       
?>

В результате в ячейках видим

/img/print.png;http://www.photoshop-master.ru/lessons/les1689/01.jpg;http://www.photoshop-master.ru/tools/Elliptical Marquee.jpg;http://www.photoshop-master.ru/lessons/les1689/02.jpg;http://www.photoshop-master.ru/lessons/les1689/03.jpg;http://www.photoshop-master.ru/lessons/les1689/04.jpg;http://www.photoshop-master.ru/lessons/les1689/05.jpg;http://www.photoshop-master.ru/lessons/les1689/06.jpg;

Здесь в этом участке кода нужно сделать изменения для каждого из рисунков

 if (sizeof($matches[1]))  
         foreach($matches[1] as $link) {      
             $newField_3[] = $link;                 
             echo $link."<br />";           
         }     

для рисунка http://www.photoshop-master.ru/lessons/les1689/01.jpg
1) - Используя dirname нужно убрать имя файла из адреса http://www.photoshop-master.ru/lessons/les1689/
2) - Убрать из адреса http://www.photoshop-master.ru/ => тогда получим /lessons/les1689/
3) - Добавить к адресу images => тогда images/lessons/les1689/
$path = images/lessons/les1689

По моему задача интересная, для вас может быть простая, )
Не подскажете как это реализовать?

  Ответить  
 
 автор: cheops   (15.01.2012 в 14:25)   письмо автору
 
   для: pautina   (14.01.2012 в 08:18)
 

Ммм... не понятно, что вызывает сложности? У вас же все готово, вплоть до подробного плана действий?

  Ответить  
 
 автор: pautina   (16.01.2012 в 15:55)   письмо автору
 
   для: cheops   (15.01.2012 в 14:25)
 

Смотрите у меня есть скрипт.
Скрипт в 2 массивах выводит
- директории папок куда нужно скопировать рисунок
- сама ссылка на рисунок.
Код скрипта такой

<?php 
 $str 
'<div class="Text">                    
<div id="demotip">&nbsp;</div>  
<div class="Gadget2"><div class="Gadget2SmoothTopLine"><div class="Gadget2SmoothTopLeft"><div class="Gadget2SmoothTopRight">&nbsp;<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> &#187; <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>
    Зажимаем клавишу SHIFT и рисуем окружность, как показано ниже:</p>
<p align="center">
    <img height="340" src="/lessons/les1689/03.jpg" width="450" /></p>
<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/  
     
$matches[1] = str_replace('tools''http://www.photoshop-master.ru/tools'$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);
         } 
         
     echo
"<pre>";print_r($path);print_r($matches[1]);exit("</pre>");

?>

В результате на выходе имеем

Array
(
    [0] => images
    [1] => /img
    [2] => images/lessons/les1689
    [3] => images/tools
    [4] => images/lessons/les1689
    [5] => images/lessons/les1689
)
Array
(
    [0] => images/content-smooth-top-right.gif
    [1] => /img/print.png
    [2] => http://www.photoshop-master.ru/lessons/les1689/01.jpg
    [3] => http://www.photoshop-master.ru/tools/Elliptical Marquee.jpg
    [4] => http://www.photoshop-master.ru/lessons/les1689/02.jpg
    [5] => http://www.photoshop-master.ru/lessons/les1689/03.jpg
)

Как при помощи этого участка кода

<?php    
$data 
file_get_contents("img.txt");  
$path "home/photoshop-portal/www/images/les1677/"
$a explode("\r\n",$data);   
foreach(
$a as $b){     
 
$c basename($b); 
 
copy($b$path.$c)

?>

он позволяет сделать копирвание файлов с тем же именем из текстового файла img.txt в папку по пути $path
Сделать копирование рисунков по путям $path? (Рисунок из 2-го массива нужно скопировать по пути из 1-го массива)

  Ответить  
 
 автор: pautina   (17.01.2012 в 06:16)   письмо автору
 
   для: pautina   (16.01.2012 в 15:55)
 

Использовал такой участок кода.

<?php 
 $str 
'<div class="Text">                    
<div id="demotip">&nbsp;</div>  
<div class="Gadget2"><div class="Gadget2SmoothTopLine"><div class="Gadget2SmoothTopLeft"><div class="Gadget2SmoothTopRight">&nbsp;<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> &#187; <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>
    Зажимаем клавишу SHIFT и рисуем окружность, как показано ниже:</p>
<p align="center">
    <img height="340" src="/lessons/les1689/03.jpg" width="450" /></p>
<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/  
     
$matches[1] = str_replace('tools''http://www.photoshop-master.ru/tools'$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);
         } 
         
     echo
"<pre>";print_r($path);print_r($matches[1]);exit("</pre>");

?>

без строк

$c = basename($link);  
copy($link, $path.$c);

скрипт выводит
Array
(
[0] => images
[1] => /img
[2] => images/lessons/les1689
[3] => images/tools
[4] => images/lessons/les1689
[5] => images/lessons/les1689
)
Array
(
[0] => images/content-smooth-top-right.gif
[1] => /img/print.png
[2] => http://www.photoshop-master.ru/lessons/les1689/01.jpg
[3] => http://www.photoshop-master.ru/tools/Elliptical Marquee.jpg
[4] => http://www.photoshop-master.ru/lessons/les1689/02.jpg
[5] => http://www.photoshop-master.ru/lessons/les1689/03.jpg
)

Мне нужно скопировать рисунки из массива $matches[1] по пути $path = str_replace("http://www.photoshop-master.ru","images", $file); имена рисунков те же.
Копирования сейчас нет выходит ошибка
Warning: copy(images/content-smooth-top-right.gif) [function.copy]: failed to open stream: No such file or directory in M:\home\photoshop-portal\www\myscripts\path_in_str.php on line 32

  Ответить  
 
 автор: Lotanaen   (17.01.2012 в 09:35)   письмо автору
 
   для: pautina   (17.01.2012 в 06:16)
 

а данный рисунок есть уже в папке images/content-smooth-top-right.gif? в БД вы загоняли только ссылки на изображения и видимо не все верные. Как я понял Вы распарсиваете сайт из инета и складываете на свой сервер - поэтому при копировании изображений нужно абсолютные ссылки брать. не images/content-smooth-top-right.gif, а http://www.photoshop-master.ruimages/content-smooth-top-right.gif например, а относительные ссылки работают только на одном и том же сервере.

  Ответить  
 
 автор: pautina   (17.01.2012 в 10:22)   письмо автору
 
   для: Lotanaen   (17.01.2012 в 09:35)
 

Сейчас код подкорректировал в массиве ссылок все адреса рисунков рабочие

<?php 
 $str 
'<div class="Text">                    
<div id="demotip">&nbsp;</div>  
<div class="Gadget2"><div class="Gadget2SmoothTopLine"><div class="Gadget2SmoothTopLeft"><div class="Gadget2SmoothTopRight">&nbsp;<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> &#187; <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>
    Зажимаем клавишу SHIFT и рисуем окружность, как показано ниже:</p>
<p align="center">
    <img height="340" src="/lessons/les1689/03.jpg" width="450" /></p>
<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/  
     
$matches[1] = str_replace('tools''http://www.photoshop-master.ru/tools'$matches[1]); // к адресу ссылки прибавляем http://www.photoshop-master.ru/
     
$matches[1] = str_replace('images''http://www.photoshop-master.ru/images'$matches[1]);
     
$matches[1] = str_replace('/img''http://www.photoshop-master.ru/img'$matches[1]);    
        
     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);
         

         
     echo
"<pre>";print_r($path);print_r($matches[1]);exit("</pre>");

?>

на выходе имеем

Array
(
    [0] => images/images
    [1] => images/img
    [2] => images/lessons/les1689
    [3] => images/tools
    [4] => images/lessons/les1689
    [5] => images/lessons/les1689
)
Array
(
    [0] => http://www.photoshop-master.ru/images/content-smooth-top-right.gif
    [1] => http://www.photoshop-master.ru/img/print.png
    [2] => http://www.photoshop-master.ru/lessons/les1689/01.jpg
    [3] => http://www.photoshop-master.ru/tools/Elliptical Marquee.jpg
    [4] => http://www.photoshop-master.ru/lessons/les1689/02.jpg
    [5] => http://www.photoshop-master.ru/lessons/les1689/03.jpg
)

что делать сэтим участком чтобы копирование шло, он пока закоментарен

// $c = basename($link);   
             // copy($link, $path.$c);

если его не коментировать выходит ошибка
Warning: copy(http://www.photoshop-master.ru/tools/Elliptical Marquee.jpg) [function.copy]: failed to open stream: HTTP request failed! in M:\home\photoshop-portal\www\myscripts\path_in_str.php on line 34

Fatal error: Maximum execution time of 30 seconds exceeded in M:\home\photoshop-portal\www\myscripts\path_in_str.php on line 35

Как можно её исправить?

  Ответить  
 
 автор: Lotanaen   (17.01.2012 в 11:56)   письмо автору
 
   для: pautina   (17.01.2012 в 10:22)
 

Вы же перевод ошибки сделали? выводится предупреждение что не верный путь указан в 34 линии файла path_in_str.php
ну и фатальная ошибка - прекращение работы скрипта по времени - по умолчанию в РНР это 30 секунд.
ну и скорей всего у вас каталоги не созданы куда Вы пытаетесь изображения копировать
проверьте что у вас в $patch?

  Ответить  
 
 автор: pautina   (17.01.2012 в 12:40)   письмо автору
 
   для: Lotanaen   (17.01.2012 в 11:56)
 

Array
(
[0] => images/images
[1] => images/img
[2] => images/lessons/les1689
[3] => images/lessons/les1689
[4] => images/lessons/les1689
)
Array
(
[0] => http://www.photoshop-master.ru/images/content-smooth-top-right.gif
[1] => http://www.photoshop-master.ru/img/print.png
[2] => http://www.photoshop-master.ru/lessons/les1689/01.jpg
[3] => http://www.photoshop-master.ru/lessons/les1689/02.jpg
[4] => http://www.photoshop-master.ru/lessons/les1689/03.jpg
)
Всё копируется в корень а не в нужную папку пути (это наш первый массив). Папки для копирования я создал.
И в имени рисунка надпись не 01 а Array01

  Ответить  
 
 автор: Lotanaen   (17.01.2012 в 12:43)   письмо автору
 
   для: pautina   (17.01.2012 в 12:40)
 

ну правильно!
что у вас вот здесь?
$file[] = dirname($link);
$path = str_replace("http://www.photoshop-master.ru","images", $file);

Вы в массив загоняете ссылку, а потом в массиве же подмену делаете? соответственно у вас массив на выходе и получается...
замените на
$file = dirname($link);
$path = str_replace("http://www.photoshop-master.ru","images", $file);

  Ответить  
 
 автор: pautina   (17.01.2012 в 12:51)   письмо автору
 
   для: Lotanaen   (17.01.2012 в 12:43)
 

копирование рисунков идёт не в нужную папку а на уровень вверх.
Сам скрипт папка image и img лежат на одном уровне.

  Ответить  
 
 автор: Lotanaen   (17.01.2012 в 12:58)   письмо автору
 
   для: pautina   (17.01.2012 в 12:51)
 

ну так ../ добавьте к пути копрования

  Ответить  
 
 автор: pautina   (17.01.2012 в 13:00)   письмо автору
 
   для: Lotanaen   (17.01.2012 в 12:58)
 

а где это в коде указать?

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);
             $c = basename($link);   
             copy($link, $path.$c);
         } 

  Ответить  
 
 автор: Lotanaen   (17.01.2012 в 13:03)   письмо автору
 
   для: pautina   (17.01.2012 в 13:00)
 

ну например вот здесь $path = "../".str_replace("http://www.photoshop-master.ru","images", $file);

  Ответить  
 
 автор: pautina   (17.01.2012 в 13:12)   письмо автору
7.7 Кб
 
   для: Lotanaen   (17.01.2012 в 13:03)
 

Копирование идёт, но не в ту папку рисунок копируется. (Сам конечный рисунок на уровне вверх находится, например рисунок http://www.photoshop-master.ru/lessons/les1677/1.jpg находится не в папке images/lessons/les1677 а в images/lessons/)
Ни могли бы вы проверить скрипт и создать нужные папки. файл скрипта я приложил.
эти папки нужно создать в корне где лежит скрипт
Array
(
[0] => images/images
[1] => images/img
[2] => images/lessons/les1677
[3] => images/lessons/les1677
[4] => images/lessons/les1677
[5] => images/lessons/les1677
[6] => images/tools
[7] => images/lessons/les1677
[8] => images/lessons/les1677
[9] => images/lessons/les1677
)

  Ответить  
 
 автор: Lotanaen   (17.01.2012 в 13:51)   письмо автору
 
   для: pautina   (17.01.2012 в 13:12)
 

....

  Ответить  
 
 автор: pautina   (17.01.2012 в 14:15)   письмо автору
7.7 Кб
 
   для: Lotanaen   (17.01.2012 в 13:51)
 

Копирование идёт, но не в ту папку рисунок копируется. (Сам конечный рисунок на уровне вверх находится, например рисунок http://www.photoshop-master.ru/lessons/les1677/1.jpg находится не в папке images/lessons/les1677 а в images/lessons/)
Ни могли бы вы проверить скрипт и создать нужные папки. файл скрипта я приложил.
эти папки нужно создать в корне где лежит скрипт
Array
(
[0] => images/images
[1] => images/img
[2] => images/lessons/les1677
[3] => images/lessons/les1677
[4] => images/lessons/les1677
[5] => images/lessons/les1677
[6] => images/tools
[7] => images/lessons/les1677
[8] => images/lessons/les1677
[9] => images/lessons/les1677
)

  Ответить  
 
 автор: Lotanaen   (17.01.2012 в 15:35)   письмо автору
 
   для: pautina   (17.01.2012 в 14:15)
 

у Вас где скрипт лежит? в каком каталоге?

  Ответить  
 
 автор: pautina   (17.01.2012 в 15:51)   письмо автору
224.1 Кб
 
   для: Lotanaen   (17.01.2012 в 15:35)
 

Посмотрите этот архив, там скрипт (path_in_str.php) и папки для копирования.
Папки и скрипт как у меня на машине.

  Ответить  
 
 автор: Lotanaen   (17.01.2012 в 16:03)   письмо автору
 
   для: pautina   (17.01.2012 в 15:51)
 

ну я же ВАм уже выше писал, что слэш поставьте в пути :
Array
(
[0] => images/images
[1] => images/img
[2] => images/lessons/les1677
[3] => images/lessons/les1677
[4] => images/lessons/les1677
[5] => images/lessons/les1677
[6] => images/tools
[7] => images/lessons/les1677
[8] => images/lessons/les1677
[9] => images/lessons/les1677
)
что бы стало
Array
(
[0] => images/images/
[1] => images/img/
[2] => images/lessons/les1677/
[3] => images/lessons/les1677/
[4] => images/lessons/les1677/
[5] => images/lessons/les1677/
[6] => images/tools/
[7] => images/lessons/les1677/
[8] => images/lessons/les1677/
[9] => images/lessons/les1677/
)

  Ответить  
 
 автор: pautina   (17.01.2012 в 16:10)   письмо автору
 
   для: Lotanaen   (17.01.2012 в 16:03)
 

Как изменить код чтобы в конце каждого пути был /
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);
              //$c = basename($link);   
              //copy($link, $path.$c);
         } 
         
     echo"<pre>";print_r($path);print_r($matches[1]);exit("</pre>");

  Ответить  
 
 автор: pautina   (17.01.2012 в 16:12)   письмо автору
 
   для: pautina   (17.01.2012 в 16:10)
 

Извиняюсь
$file = dirname($link)."/";

  Ответить  
 
 автор: pautina   (17.01.2012 в 16:29)   письмо автору
 
   для: pautina   (17.01.2012 в 16:12)
 

Вы знаете вот какой ещё вопрос.
В некоторых местах есть рисунок Elliptical Marquee.jpg в имени файла есть пробел и скрипт не копирует этот рисунок.
Можно ли его в коде описать как исключение?

  Ответить  
 
 автор: Lotanaen   (17.01.2012 в 16:33)   письмо автору
 
   для: pautina   (17.01.2012 в 16:29)
 

попробуйте http://www.photoshop-master.ru/tools/Elliptical%20Marquee.jpg

  Ответить  
 
 автор: pautina   (17.01.2012 в 16:35)   письмо автору
 
   для: Lotanaen   (17.01.2012 в 16:33)
 

Как его в этом коде прописать как исключение.

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);
              $c = basename($link);   
              copy($link, $path.$c);
         } 

  Ответить  
 
 автор: Lotanaen   (17.01.2012 в 16:36)   письмо автору
 
   для: pautina   (17.01.2012 в 16:35)
 

заменяйте пробел на %20

  Ответить  
 
 автор: pautina   (17.01.2012 в 16:40)   письмо автору
 
   для: Lotanaen   (17.01.2012 в 16:36)
 

согласен а как это в коде описать?

  Ответить  
 
 автор: Lotanaen   (17.01.2012 в 16:41)   письмо автору
 
   для: pautina   (17.01.2012 в 16:40)
 

ну хотя бы той же функцией str_replace()

  Ответить  
 
 автор: pautina   (17.01.2012 в 16:47)   письмо автору
 
   для: Lotanaen   (17.01.2012 в 16:41)
 

низнаю насколько правильно?

if $matches[1] = http://www.photoshop-master.ru/tools/Elliptical Marquee.jpg то 
$matches[1] = str_replace("http://www.photoshop-master.ru/tools/Elliptical Marquee.jpg","http://www.photoshop-master.ru/tools/Elliptical%20Marquee.jpg", $str);

как в код вставить?

  Ответить  
 
 автор: Lotanaen   (17.01.2012 в 16:54)   письмо автору
 
   для: pautina   (17.01.2012 в 16:47)
 

ну например перед copy(); поставьте $link = str_replace(' ','%20,$link);

  Ответить  
 
 автор: pautina   (17.01.2012 в 17:00)   письмо автору
 
   для: Lotanaen   (17.01.2012 в 16:54)
 

Спасибо, завтра с копированием из ячейки таблицы буду разбираться?

  Ответить  
 
 автор: Lotanaen   (17.01.2012 в 17:07)   письмо автору
 
   для: pautina   (17.01.2012 в 17:00)
 

да там одинарную кавычку я пропустил

  Ответить  
 
 автор: pautina   (18.01.2012 в 14:51)   письмо автору
 
   для: Lotanaen   (17.01.2012 в 17:07)
 

это я подправил, всё работает спасибо

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования