Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как записать картинки из переменной в phpQuery?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (4): [1] 2 3 4 »   

> Без описания
webdeveloperrr
Отправлено: 05 Июня, 2017 - 17:01:04
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Июнь 2017  


Помог: 0 раз(а)




В переменной $img находится линки на картинку. На экран выводится при echo все картинки. А как записать все картинки из этой переменной если их там минимум 5 в file_put_contents? .Записывается только одна картинка а в базу все идет нормально

CODE (htmlphp):
скопировать код в буфер обмена
  1. $url = 'http://www.sait.ru/index.php';
  2. $file = file_get_contents($url);
  3.  
  4. $doc = phpQuery::newDocument($file);
  5.  
  6. foreach ($doc->find('.articles-container .post-excerpt') as $article) {
  7.  
  8.  
  9.     $article = pq($article);
  10.  
  11.     $img = $article->find('.img-cont img')->attr('src');
  12.     $text = $article->find('.pd-cont')->html();
  13.  
  14. echo "<img src='$img'>";
  15. file_put_contents('img.png', $img);
  16.  
  17. $result = mysql_query ("INSERT INTO page (img,name) VALUES ('$img', '$text')");
  18.  
  19.  
  20. if ($result == 'true') {echo "<p>succes!</p>";}
  21. else {echo "<p>fall!</p>";}
  22.  
  23. }
  24.  
  25.  
 
 Top
Строитель Модератор
Отправлено: 05 Июня, 2017 - 19:25:27
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




Вероятно так:
 
 Top
webdeveloperrr
Отправлено: 05 Июня, 2017 - 20:25:07
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Июнь 2017  


Помог: 0 раз(а)




Строитель пишет:
Вероятно так:


Нет не получается. Файл img.png создает но один и пустой
 
 Top
Строитель Модератор
Отправлено: 05 Июня, 2017 - 20:29:10
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




webdeveloperrr пишет:
Строитель пишет:
Вероятно так:


Нет не получается. Файл img.png создает но один и пустой
А как вы используете предложенный мной вариант?
 
 Top
webdeveloperrr
Отправлено: 05 Июня, 2017 - 20:56:00
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Июнь 2017  


Помог: 0 раз(а)




Строитель пишет:
webdeveloperrr пишет:
Строитель пишет:
Вероятно так:


Нет не получается. Файл img.png создает но один и пустой
А как вы используете предложенный мной вариант?


вставил строчку кода что вы прислали...
 
 Top
Строитель Модератор
Отправлено: 05 Июня, 2017 - 21:14:56
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




webdeveloperrr, распечатайте в браузер значение переменной $img
Спойлер (Отобразить)

(Добавление)
Строитель пишет:
Файл img.png создает но один
А вам нужно столько же файлов, сколько и значений в переменной $img ? Я сперва подумал, что вам нужно в один файл записать все значения из $img.
 
 Top
webdeveloperrr
Отправлено: 05 Июня, 2017 - 21:26:38
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Июнь 2017  


Помог: 0 раз(а)




Строитель пишет:
webdeveloperrr, распечатайте в браузер значение переменной $img
Спойлер (Отобразить)

(Добавление)
Строитель пишет:
Файл img.png создает но один
А вам нужно столько же файлов, сколько и значений в переменной $img ? Я сперва подумал, что вам нужно в один файл записать все значения из $img.



string(66) "http://www.kolesa.ru/uploads/2017/06/cadillac_mixed_5-300x240.jpeg"
fall

string(57) "http://www.kolesa.ru/uploads/2017/06/IMG_3653-300x240.jpg"
fall!

string(77) "http://www.kolesa.ru/uploads/2017/06/land_rover_discovery_hse_21-300x240.jpeg"
fall!

string(68) "http://www.kolesa.ru/uploads/2017/06/DB2016AU00284_large-300x240.jpg"
fall!

string(82) "http://www.kolesa.ru/uploads/2017/06/Depositphotos_71663149_original-1-300x240.jpg"
fall!

string(56) "http://www.kolesa.ru/uploads/2017/06/mazda-1-300x240.jpg"
fall!

string(65) "http://www.kolesa.ru/uploads/2017/06/KAMAZ-5490-M1842-300x240.jpg"
(Добавление)
webdeveloperrr пишет:
Строитель пишет:
webdeveloperrr, распечатайте в браузер значение переменной $img
Спойлер (Отобразить)

(Добавление)
Строитель пишет:
Файл img.png создает но один
А вам нужно столько же файлов, сколько и значений в переменной $img ? Я сперва подумал, что вам нужно в один файл записать все значения из $img.



string(66) "http://www.kolesa.ru/uploads/2017/06/cadillac_mixed_5-300x240.jpeg"
fall

string(57) "http://www.kolesa.ru/uploads/2017/06/IMG_3653-300x240.jpg"
fall!

string(77) "http://www.kolesa.ru/uploads/2017/06/land_rover_discovery_hse_21-300x240.jpeg"
fall!

string(68) "http://www.kolesa.ru/uploads/2017/06/DB2016AU00284_large-300x240.jpg"
fall!

string(82) "http://www.kolesa.ru/uploads/2017/06/Depositphotos_71663149_original-1-300x240.jpg"
fall!

string(56) "http://www.kolesa.ru/uploads/2017/06/mazda-1-300x240.jpg"
fall!

string(65) "http://www.kolesa.ru/uploads/2017/06/KAMAZ-5490-M1842-300x240.jpg"




Да,именно столько же и файлов
 
 Top
Строитель Модератор
Отправлено: 05 Июня, 2017 - 21:35:06
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




webdeveloperrr пишет:
Да,именно столько же и файлов
Тогда нужно для новых файлов задавать уникальные имена. А при нынешнем варианте файл один и будет, т.к. название у него одно, и он просто перезаписывается при каждом проходе цикла. Сейчас напишу пример.
(Добавление)
Попробуйте пока так
Спойлер (Отобразить)

(Добавление)
webdeveloperrr, и ещё - расширения файлов нужно переименовать в *.txt , ведь вы записываете текст (ссылку на файл).
 
 Top
webdeveloperrr
Отправлено: 05 Июня, 2017 - 21:50:24
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Июнь 2017  


Помог: 0 раз(а)




Строитель пишет:
webdeveloperrr пишет:
Да,именно столько же и файлов
Тогда нужно для новых файлов задавать уникальные имена. А при нынешнем варианте файл один и будет, т.к. название у него одно, и он просто перезаписывается при каждом проходе цикла. Сейчас напишу пример.
(Добавление)
Попробуйте пока так
Спойлер (Отобразить)

(Добавление)
webdeveloperrr, и ещё - расширения файлов нужно переименовать в *.txt , ведь вы записываете текст (ссылку на файл).


Файл*.txt создает и в каждую пишет по ссылке.Но мне надо чтобы картинку создал *.jpg
 
 Top
Строитель Модератор
Отправлено: 05 Июня, 2017 - 21:55:38
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




Строитель пишет:
Но мне надо чтобы картинку создал *.jpg
Тогда так
Спойлер (Отобразить)

(Добавление)
webdeveloperrr, кстати первые две строки в скрипте не нужны, можете их удалить:

$url = 'http://www.sait.ru/index.php';
$file = file_get_contents($url);
 
 Top
webdeveloperrr
Отправлено: 05 Июня, 2017 - 22:04:03
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Июнь 2017  


Помог: 0 раз(а)




Строитель пишет:
Строитель пишет:
Но мне надо чтобы картинку создал *.jpg
Тогда так
Спойлер (Отобразить)

(Добавление)
webdeveloperrr, кстати первые две строки в скрипте не нужны, можете их удалить:

$url = 'http://www.sait.ru/index.php';
$file = file_get_contents($url);


Отлично, картинку создает но в базу летит старое значение ссылки.Теперь надо чтобы в базу летело из localhost/img/
 
 Top
Строитель Модератор
Отправлено: 05 Июня, 2017 - 22:07:32
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




webdeveloperrr пишет:
надо чтобы в базу летело из localhost/img/
Предполагаю, что нужно заменить первый аргумент в строке запроса:

$result = mysql_query ("INSERT INTO page (img,name) VALUES ('$file', '$text')");

Я не внимателен Радость Пост отредактировал )
 
 Top
webdeveloperrr
Отправлено: 05 Июня, 2017 - 22:13:29
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Июнь 2017  


Помог: 0 раз(а)




Строитель пишет:
webdeveloperrr пишет:
надо чтобы в базу летело из localhost/img/
Предполагаю, что нужно заменить первый аргумент в строке запроса:

$result = mysql_query ("INSERT INTO page (img,name) VALUES ('$file', '$text')");

Я не внимателен Радость Пост отредактировал )


Заменил на VALUES ('$file', '$text')"); не помогает ссылка в базу летит старая.Думаю надо в file_put_content надо прописать путь localhost/img но не соображу как


Отредактировано модератором: Строитель, 05 Июня, 2017 - 22:24:46
 
 Top
Строитель Модератор
Отправлено: 05 Июня, 2017 - 22:17:40
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




webdeveloperrr пишет:
Строитель пишет:
webdeveloperrr пишет:
надо чтобы в базу летело из localhost/img/
Предполагаю, что нужно заменить первый аргумент в строке запроса:

$result = mysql_query ("INSERT INTO page (img,name) VALUES ('$file', '$text')");

А что на счёт второго аргумента $text ? Этой переменной нет в предоставленном коде.

Я не внимателен Радость Пост отредактировал )


Заменил на VALUES ('$file', '$text')"); не помогает ссылка в базу летит старая.Думаю надо в file_put_content надо прописать путь localhost/img но не соображу как
А куда сохраняются изображения? В какую-то папку? Или рядом с этим php-скриптом, код которого его запускает?

По идее, если вы ничего не меняли в коде, то в переменной $file как раз и содержится ссылка на реальный файл (если не ошибаюсь, конечно)
 
 Top
webdeveloperrr
Отправлено: 05 Июня, 2017 - 22:29:59
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Июнь 2017  


Помог: 0 раз(а)




Строитель пишет:
webdeveloperrr пишет:
Строитель пишет:
webdeveloperrr пишет:
надо чтобы в базу летело из localhost/img/
Предполагаю, что нужно заменить первый аргумент в строке запроса:

$result = mysql_query ("INSERT INTO page (img,name) VALUES ('$file', '$text')");

А что на счёт второго аргумента $text ? Этой переменной нет в предоставленном коде.

Я не внимателен Радость Пост отредактировал )


Заменил на VALUES ('$file', '$text')"); не помогает ссылка в базу летит старая.Думаю надо в file_put_content надо прописать путь localhost/img но не соображу как
А куда сохраняются изображения? В какую-то папку? Или рядом с этим php-скриптом, код которого его запускает?

По идее, если вы ничего не меняли в коде, то в переменной $file как раз и содержится ссылка на реальный файл (если не ошибаюсь, конечно)


да, ссылка в базу идет но нельзя коментить file = file_get_contents($url);

как мне прописать localhost/img? вариант $file = ++$i .'img/_img.jpg'; не проходит
 
 Top
Страниц (4): [1] 2 3 4 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB