Мой вариант автоматической загрузки и обновления прайса. Аттач ниже. Некоторые пояснения по коду:
В таблицу SS_products у меня введена дополнительная строка - whereis, если whereis=1, то данный товар находится на складе у поставщика, а если whereis=0 то товар находится на нашем складе.
"/www/www.my-shop.com/prices/" - абсолютный путь на хостинге к папке, куда будет скачиваться прайс
"http://www.superprice.ru/files/superprice.csv" - адрес фирмы-поставщика, с этого адреса будет скачиваться прайс поставщика - superprice.csv
"/www/www.my-shop.com/prices/new_superprice.txt" - в этом файле сохраняются новые товары (код и наименование), которые появились у поставщика и их надо добавить в БД нашего магазина
Формат cvs-файла поставщика такой:
Код:
код_продукта;наименование;цена;кол-во
31337;Чайник Braun;59;+++++
31338;Сотейник Tefal;23,3;++
"$product_count = strlen( preg_replace("/[^+]/", "", $data[3]) )*5;" - в прайсе поставщика нет точного количества товара на складе, его заменяют знаки "плюс". Условно: один плюс - мало товара, пять плюсов - много товара. В этой строчке "плюсы" переводятся в числовое представление - один знак "плюс" = 5 единицам товара.
Файл, что в аттаче, я прописал в крон на сервере с запуском 1 раз в сутки. Можно использовать такую строчку:
Код:
/www/www.my-shop.com/prices/getprice.php 1> /www/www.my-shop.com/prices/getprice.mes 2> /www/www.my-shop.com/prices/getprice.err
Тогда в файле getprice.mes будет сохраняться то, что скрипт выводит на экран, в моем случае это время начала и окончания парсинга cvs-файла. А в файле getprice.err - сообщения об ошибках, если таковые будут.
Посмотреть вложение getprice.rar