Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
PHP Как на SoundCloud реализованы комментарии на звуковой дорожке? https://www.cyberforum.ru/ php-beginners/ thread1908009.html
Когда идёт трек, то внизу иконки и там отображаются комментарии. Эти иконки расположены как-то по разному в каждом треке. Как это сделали?
Почему код перестаёт работать в функции? PHP
Здравствуйте! У меня есть вот такой код: $login = "admin"; if (isset($_GET)) { $edit = $_GET; getsiteinfo ($edit,$login); $mysqli = new mysqli ("localhost"...
PHP Динамическое создание таблицы
Добрый вечер. Как динамический создать правильную таблицу Пример я нарисовал на листке
PHP PHPExcel - Сделать активным второй лист. Использую как шаблон некую книгу с двумя листами, как сделать активным 2й лист? Добавлено через 1 час 9 минут Мне в отчете необходимо использовать шаблон на 2м листе. но я никак не могу сделать... https://www.cyberforum.ru/ php-beginners/ thread1907933.html
PHP Вывод переименового файла в письме https://www.cyberforum.ru/ php-beginners/ thread1907929.html
Добрый день. Есть код обратной связи с прикреплением файла, который переименовывает файлы и скидывает их на сервер, но письмо с ссылкой на файл приходит с оригинальный названием файла. Подскажите,...
Значение переменной id не отображается как часть ссылки PHP
Здравствуйте, уважаемые программисты. начинаю только изучать PHP для создания сайтов, не держите зла если задаю глупые вопросы) Делаю все на локальном сервере Денвер. Пытаюсь сделать блог...
PHP Отправка сообщение из двух форм
Добрый день, нужен совет. Есть одна форма, которая высчитает данные о закази(такой себе калькулятор), при нажатии на кнопку заказать появляться в модальном окне еще одна форма где пользователь...
PHP ПУСТОЙ HTTP-referer Есть 3 сайта на поддоменах https://qwe.sait.ru https://rty.sait.ru https://uio.sait.ru установила код партнёрки траффика,но не передаётся referer,как исправить эту проблему https://www.cyberforum.ru/ php-beginners/ thread1907840.html
PHP Неожиданный результат работы функции https://www.cyberforum.ru/ php-beginners/ thread1907797.html
Всем добрый день! Случилась очень странная ситуация: Есть функция в модели User public static function checkLogged() { // Если сессия есть, вернем идентификатор пользователя ...
PHP Как продлить жизнь сессии? Добрый день! Сделал простенькую авторизацию на сайте, которая ищет совпадения логин-пароль в бд, если совпадения найдены - записывает id в сессию. Вопрос заключается в том, что сессия обрывается... https://www.cyberforum.ru/ php-beginners/ thread1907728.html
-19 / 23 / 8
Регистрация: 27.07.2010
Сообщений: 496
27.01.2017, 15:29  [ТС] 0

Strict Standards: Only variables should be passed by reference in

27.01.2017, 15:29. Показов 1616. Ответов 10
Метки (Все метки)

Ответ

Зверушь, В общем ошибка такая, как я показывал ранее:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
PHP Warning:  Error while sending QUERY packet. PID=24085 in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 44
 
Warning: Error while sending QUERY packet. PID=24085 in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 44
PHP Notice:  Undefined index: photo in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 47
 
Notice: Undefined index: photo in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 47
PHP Notice:  Undefined index: code in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
 
Notice: Undefined index: code in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
PHP Notice:  Undefined index: oem in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
 
Notice: Undefined index: oem in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
PHP Notice:  Undefined index: nazvanie_zapchasti in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
 
Notice: Undefined index: nazvanie_zapchasti in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
PHP Notice:  Undefined index: firm in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
 
Notice: Undefined index: firm in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
PHP Notice:  Undefined index: model in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
 
Notice: Undefined index: model in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
PHP Notice:  Undefined index: kuzov in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
 
Notice: Undefined index: kuzov in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
PHP Notice:  Undefined index: engine in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
 
Notice: Undefined index: engine in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
PHP Notice:  Undefined index: optics in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
 
Notice: Undefined index: optics in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
PHP Notice:  Undefined index: l_r in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
 
Notice: Undefined index: l_r in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
PHP Notice:  Undefined index: f_r in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
 
Notice: Undefined index: f_r in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
PHP Notice:  Undefined index: u_d in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
 
Notice: Undefined index: u_d in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
PHP Notice:  Undefined index: number in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
 
Notice: Undefined index: number in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
PHP Notice:  Undefined index: country in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
 
Notice: Undefined index: country in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
PHP Notice:  Undefined index: color in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
 
Notice: Undefined index: color in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
PHP Notice:  Undefined index: year in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
 
Notice: Undefined index: year in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
PHP Notice:  Undefined index: n_o in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
 
Notice: Undefined index: n_o in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
PHP Notice:  Undefined index: remainder in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
 
Notice: Undefined index: remainder in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
PHP Notice:  Undefined index: price in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
 
Notice: Undefined index: price in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
PHP Notice:  Undefined index: tolko_s_foto in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
 
Notice: Undefined index: tolko_s_foto in /home/admin/web/xxxxxxx.ru/public_html/update_c1.php on line 67
А вот сам код

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php 
libxml_use_internal_errors(true);
set_time_limit(0);
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
$base_url = "http://fffffffff.ru/katalog_tovarov/";
$href = "";
define('BASEPATH', "");
$db = array();
include 'application/config/database.php';
$mysql = new mysqli($db['default']['hostname'], $db['default']['username'], $db['default']['password'], $db['default']['database']) or die('Mysql error. Check application/config/database.php');
$mysql->set_charset("utf8");
$photos = array();
$query = $mysql->query('SELECT `photo_url` FROM `c1_image`');
while($row = $query->fetch_assoc())
    $photos[] = $row["photo_url"];
$list = array();
 
while(true)
{
    $html = file_get_contents($base_url.$href);
    $dom = new DomDocument();
    $dom->loadHTML($html); 
    $xpath = new DomXPath($dom);
    $_res = $xpath->query(".//a[@class='image']");
    for($i=0; $i<$_res->length; $i++)
    {
        //$item = array("photo_url" => $_res->item($i)->firstChild->firstChild->getAttribute("src"), "url" => $_res->item($i)->getAttribute("href"));
        $preview_url = $_res->item($i)->firstChild->firstChild->getAttribute("src");
        $url = $_res->item($i)->getAttribute("href");
        $data = getProduct("http://fffffffff.ru/".$url);
        $data["p_url"] = $preview_url;
        $data["u_url"] = $url;
        if($data !== false)
            $list[] = $data;
 
    }   
    $_res = $xpath->query(".//a[@class='next']");
    if($_res->length == 0)
        break;
    $href = $_res->item(0)->getAttribute('href');
}
$mysql->query("TRUNCATE c1_list");
foreach($list as $data)
{               
    $exp_image = explode("/", $data["photo"]);
    $exp_preview = explode("/", $data["p_url"]);
 
    $path_image = "img/c1/images/".array_pop($exp_image); 
    $path_preview = "img/c1/preview/".array_pop($exp_preview);
    
    if(!in_array($path_preview, $photos))
    {               
        $photos[] = $path_preview;
        $content = file_get_contents("http://fffffffff.ru/".$data["p_url"]);
        $mysql->query("INSERT INTO `c1_image`(`photo_url`) VALUES ('$path_preview')");
        file_put_contents($path_preview, $content);
    }
    if(!in_array($path_image, $photos))
    {
        $photos[] = $path_image;
        $content = file_get_contents("http://fffffffff.ru".$data["photo"]);
        $mysql->query("INSERT INTO `c1_image`(`photo_url`) VALUES ('$path_image')");
        file_put_contents($path_image, $content);
    }
    $mysql->query("INSERT INTO `c1_list`(`code`, `oem`, `name`, `marka`, `model`, `kuzov`, `engine`, `optika`, `L_R`, `F_R`, `U_D`, `number`, `country`, `color`, `year`, `new`, `remainder`, `price`, `photo`, `photo_small`, `url`, `isPhoto`) VALUES ('{$data["code"]}','{$data["oem"]}','{$data["nazvanie_zapchasti"]}','{$data["firm"]}','{$data["model"]}','{$data["kuzov"]}','{$data["engine"]}','{$data["optics"]}','{$data["l_r"]}','{$data["f_r"]}','{$data["u_d"]}','{$data["number"]}','{$data["country"]}','{$data["color"]}','{$data["year"]}','{$data["n_o"]}','{$data["remainder"]}','{$data["price"]}','{$path_image}','{$path_preview}','{$data["u_url"]}','{$data["tolko_s_foto"]}')");
}
 
function getProduct($url)
{
    //$tableMap = array("test", "test", "test", "test", "test", "test", "test", "test", "test", "test", "test", "test", "test", "test", "test", "test", "test", "test", "test", "test");
    $data = array();
    $html = file_get_contents($url);
    $dom = new DomDocument();
    $dom->loadHTML($html); 
    $xpath = new DomXPath($dom);
    $_res = $xpath->query(".//table[@class='object']/tbody/tr/td[@*[starts-with(name(.), 'umi:field-name')]]");
    if($_res->length == 0)
        return false;
    for($i = 0; $i < $_res->length; $i++)
        $data[$_res->item($i)->getAttribute("data-name")] = $_res->item($i)->nodeValue;
    $data["photo"] = $xpath->query(".//div[@class='image']/span/img")->item(0)->getAttribute("src");
    $data["price"] = trim(str_replace("руб", "", $xpath->query(".//div[@class='price']/span")->item(0)->nodeValue));
    
    return $data;
    
}

Я уже не знаю что делать. Весь Интернет перерыл

Добавлено через 1 минуту
Нумерация строчек кода соответствуют.

Добавлено через 2 минуты
Сейчас поставил var_dump($data);
Получилось вот так:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
$mysql->query("TRUNCATE c1_list");
foreach($list as $data)
{   
    var_dump($data);            
    $exp_image = explode("/", $data["photo"]);
    $exp_preview = explode("/", $data["p_url"]);
 
    $path_image = "img/c1/images/".array_pop($exp_image); 
    $path_preview = "img/c1/preview/".array_pop($exp_preview);
    
    if(!in_array($path_preview, $photos))
    {
Добавлено через 15 секунд
Сейчас поставил var_dump($data);
Получилось вот так:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
$mysql->query("TRUNCATE c1_list");
foreach($list as $data)
{   
    var_dump($data);            
    $exp_image = explode("/", $data["photo"]);
    $exp_preview = explode("/", $data["p_url"]);
 
    $path_image = "img/c1/images/".array_pop($exp_image); 
    $path_preview = "img/c1/preview/".array_pop($exp_preview);
    
    if(!in_array($path_preview, $photos))
    {
Добавлено через 2 минуты
Сейчас запустил вместе с var_dump($data); Жду результата.

Добавлено через 1 минуту
Цитата Сообщение от Зверушь Посмотреть сообщение
Ну это же только для отладки. Вот почему я написал сделать это опционально с помощью параметра. Когда скрипт будет готов, то запускать его можно без параметра.
Дела в том, что парсер мне писали более года назад. Все прекрасно работало, а как перешел на php7 так началось.

Вернуться к обсуждению:
Strict Standards: Only variables should be passed by reference in
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.01.2017, 15:29

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Strict Standards: ошибка
на хосте работал прекрасно скрипт каталога.когда перенес на локалку (xampp), то выдает ошибки...

После установки ошибки Strict Standards
После установки появляются ошибки Можно ли переустановить Joomla?

Strict Standards: Non-static method JLoader:
Таких ошибок много на странице. Как решить? Пробовал поменять PHP на старую версию 5.2.17 - не...

ОШИБКА Strict Standards: Non-static method Configure::getInstance()
Уважаемые форумчане необходима помощь в решении проблем (возникли при переносе сайта на др...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.