本文整理汇总了PHP中Products::process方法的典型用法代码示例。如果您正苦于以下问题:PHP Products::process方法的具体用法?PHP Products::process怎么用?PHP Products::process使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Products
的用法示例。
在下文中一共展示了Products::process方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: import
function import($db)
{
echo "<p><a href='javascript:history.back();'><--- " . iconv('UTF-8', 'windows-1251', 'Back') . "</a></p>";
ini_set("max_execution_time", "300");
//5 мин
$upload_file_field = "uploadedfile";
$upload_failure = false;
$uploaddir = $_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']) . "/" . "upload" . "/";
if (strpos($_FILES[$upload_file_field]['name'], ".csv") === false) {
echo iconv('UTF-8', 'windows-1251', "<p style='color:red;'>Выберите файл в формате *.csv file!</p>");
$upload_failure = true;
} else {
if (move_uploaded_file($_FILES[$upload_file_field]['tmp_name'], $uploaddir . $_FILES[$upload_file_field]['name'])) {
echo iconv('UTF-8', 'windows-1251', "File was uploaded successfully! Import is begining...") . "<br />";
$file_name = $uploaddir . $_FILES[$upload_file_field]['name'];
} else {
echo iconv('UTF-8', 'windows-1251', "<p style='color:red;'>Что-то пошло не так при загрузке файла: ") . $_FILES['uploadedfile']['error'] . "</p>";
$upload_failure = true;
}
}
if (!$upload_failure) {
$makeImportCategories = false;
$makeImportManufacturers = false;
$makeImportProducts = false;
//Комментируем блок, если это необходимо
$makeImportCategories = true;
$makeImportManufacturers = true;
$makeImportProducts = true;
//подключение к БД
$link = $db->connectToDb();
$table_prefix = $db->getTablePrefix() . $db->getVMTablePrefix();
if ($makeImportCategories) {
$category_import = new Categories();
}
if ($makeImportManufacturers) {
$manufacturer_import = new Manufacturers();
}
if ($makeImportProducts) {
$product_import = new Products();
}
//инициализируем начальные номера основных записей таблиц
if ($makeImportCategories) {
$category_import->init($link, $table_prefix);
}
if ($makeImportManufacturers) {
$manufacturer_import->init($link, $table_prefix);
}
if ($makeImportProducts) {
$product_import->init($link, $table_prefix);
}
$row = 1;
//счетчик
if (isset($_POST['wh'])) {
$warehouse = $_POST['wh'];
}
if (isset($_POST['maxrow'])) {
if ($_POST['maxrow'] > 0) {
$max_row = intval($_POST['maxrow']);
} else {
$max_row = 100000;
}
//максимальное количество строк для импорта
} else {
$max_row = 100000;
}
//максимальное количество строк для импорта
if (isset($_POST['startrow'])) {
if ($_POST['startrow'] > 0) {
$init_row = intval($_POST['startrow']);
} else {
$init_row = 2;
}
//пропускаем все строки до данной строки (начинаем прием с этой строки)
} else {
$init_row = 2;
}
//пропускаем все строки до данной строки (начинаем прием с этой строки)
//2. read csv file
if (($handle = fopen($file_name, "r")) !== FALSE) {
while (($data = fgetcsv_file($handle, 1000, ";")) !== FALSE) {
if ($row >= $init_row && $row < $max_row) {
if (trim($data[0]) != "") {
//основной импорт
for ($i = 0; $i < count($data); $i++) {
$dataUTF[$i] = iconv('windows-1251', 'UTF-8', $data[$i]);
}
if ($makeImportCategories) {
$category_import->process($dataUTF);
}
if ($makeImportManufacturers) {
$manufacturer_import->process($dataUTF);
}
if ($makeImportProducts) {
$product_import->process($dataUTF, $category_import->getCategoryId(), $category_import->getParentCategoryId, $manufacturer_import->getManufacturerId(), $warehouse);
}
}
}
$row++;
}
}
//.........这里部分代码省略.........
示例2: import
//.........这里部分代码省略.........
if ($makeImportManufacturers) {
$manufacturer_import = new Manufacturers();
}
if ($makeImportProducts) {
$product_import = new Products();
}
//инициализируем начальные номера основных записей таблиц
if ($makeImportCategories) {
$html .= $category_import->init($db, $table_prefix);
}
if ($makeImportManufacturers) {
$html .= $manufacturer_import->init($db, $table_prefix);
}
if ($makeImportProducts) {
$html .= $product_import->init($db, $table_prefix);
}
//принимаени POST переменные
//ключевые параметры, обозначают текущую строку в обработке, если 1, то еще не было загрузки
if (isset($_POST['currow'])) {
$currentRow = intval($_POST['currow']);
} else {
$currentRow = 1;
}
if (isset($_POST['wh'])) {
$warehouse = $_POST['wh'];
}
if (isset($_POST['rowcount'])) {
if ($_POST['rowcount'] > 1) {
$rowCount = intval($_POST['rowcount']);
} else {
$rowCount = count(file($file_name));
}
} else {
$rowCount = count(file($file_name));
}
if (isset($_POST['maxrow'])) {
if ($_POST['maxrow'] > 0) {
$max_row = intval($_POST['maxrow']);
} else {
$max_row = 100000;
}
//максимальное количество строк для импорта
} else {
$max_row = 100000;
}
//максимальное количество строк для импорта
if (isset($_POST['startrow'])) {
if (intval($_POST['startrow']) > 0) {
$init_row = intval($_POST['startrow']) - 2;
} else {
$init_row = 0;
}
//пропускаем все строки до данной строки (начинаем прием с этой строки)
} else {
$init_row = 0;
}
//пропускаем все строки до данной строки (начинаем прием с этой строки)
//если начальная строка пользователя меньше текущей строки обработки, то должны обрабатывать с текущей строки
if ($init_row < $currentRow) {
$init_row = $currentRow + $init_row;
}
//2. read csv file
$fileArr = file($file_name);
$row = 1;
//счетчик итераций в одной обработке
$opCount = count($fileArr);
$fileArr = array_slice($fileArr, $init_row);
for ($j = $init_row; $j < $opCount; $j++) {
if ($row + $currentRow < $max_row) {
$data = fgetcsv_array($fileArr, ";");
if (trim($data[0]) != "") {
//основной импорт
for ($i = 0; $i < count($data); $i++) {
$dataUTF[$i] = iconv('windows-1251', 'UTF-8', $data[$i]);
}
if ($makeImportCategories) {
$html .= $category_import->process($dataUTF);
}
if ($makeImportManufacturers) {
$html .= $manufacturer_import->process($dataUTF);
}
if ($makeImportProducts) {
$html .= $product_import->process($dataUTF, $category_import->getCategory(), $manufacturer_import->getManufacturer(), $warehouse);
}
}
}
if ($row > $IMPORT_STEP) {
if ($html != "") {
$html = date('m.d.Y H:m:s') . ": " . $html;
}
echo '{"currow":"' . ($row + $currentRow) . '", "rowcount":"' . intval($rowCount) . '", "filename":"' . addslashes($file_name) . '", "state":"process", "log":"' . $html . '"}';
flush();
return;
}
$row++;
}
$html = '<br />' . date('m.d.Y H:m:s') . ": " . "Импорт завершен!" . '<br />' . "<strong>Не забудьте обновить карту сайта на закладке Админ</strong>" . '<br />' . $html;
echo '{"currow":"' . ($row + $currentRow) . '", "rowcount":"' . $rowCount . '", "filename":"' . addslashes($file_name) . '", "state":"complete", "log":"' . $html . '"}';
}
}
示例3: import
//.........这里部分代码省略.........
$makeImportCategories = false;
$makeImportManufacturers = false;
$makeImportProducts = false;
//Комментируем блок, если это необходимо
$makeImportCategories = true;
$makeImportManufacturers = true;
$makeImportProducts = true;
//подключение к БД
$link = $db->connectToDb();
$table_prefix = $db->getTablePrefix() . $db->getVMTablePrefix();
if ($makeImportCategories) {
$category_import = new Categories();
}
if ($makeImportManufacturers) {
$manufacturer_import = new Manufacturers();
}
if ($makeImportProducts) {
$product_import = new Products();
}
//инициализируем начальные номера основных записей таблиц
if ($makeImportCategories) {
$html .= $category_import->init($link, $table_prefix);
}
if ($makeImportManufacturers) {
$html .= $manufacturer_import->init($link, $table_prefix);
}
if ($makeImportProducts) {
$html .= $product_import->init($link, $table_prefix);
}
//принимаени POST переменные
//ключевые параметры, обозначают текущую строку в обработке, если 1, то еще не было загрузки
if (isset($_POST['currow'])) {
$currentRow = intval($_POST['currow']);
} else {
$currentRow = 1;
}
$row = 1;
//счетчик
if (isset($_POST['wh'])) {
$warehouse = $_POST['wh'];
}
if (isset($_POST['maxrow'])) {
if ($_POST['maxrow'] > 0) {
$max_row = intval($_POST['maxrow']);
} else {
$max_row = 100000;
}
//максимальное количество строк для импорта
} else {
$max_row = 100000;
}
//максимальное количество строк для импорта
if (isset($_POST['startrow'])) {
if (intval($_POST['startrow']) > 0) {
$init_row = intval($_POST['startrow']);
} else {
$init_row = 2;
}
//пропускаем все строки до данной строки (начинаем прием с этой строки)
} else {
$init_row = 2;
}
//пропускаем все строки до данной строки (начинаем прием с этой строки)
//если начальная строка пользователя меньше текущей строки обработки, то должны обрабатывать с текущей строки
if ($init_row < $currentRow) {
$init_row = $currentRow;
}
//2. read csv file
if (($handle = fopen($file_name, "r")) !== FALSE) {
while (($data = fgetcsv_file($handle, 1000, ";")) !== FALSE) {
if ($row >= $init_row && $row < $max_row) {
if (trim($data[0]) != "") {
//основной импорт
for ($i = 0; $i < count($data); $i++) {
$dataUTF[$i] = iconv('windows-1251', 'UTF-8', $data[$i]);
}
if ($makeImportCategories) {
$html .= $category_import->process($dataUTF);
}
if ($makeImportManufacturers) {
$html .= $manufacturer_import->process($dataUTF);
}
if ($makeImportProducts) {
$html .= $product_import->process($dataUTF, $category_import->getCategoryId(), $category_import->getParentCategoryId, $manufacturer_import->getManufacturerId(), $warehouse);
}
}
}
$row++;
if ($row > $IMPORT_STEP + $currentRow) {
echo '{"currow":"' . $row . '", "rowcount":"' . $rowCount . '", "filename":"' . addslashes($file_name) . '", "state":"process", "log":"' . $html . '"}';
flush();
fclose($handle);
return;
}
}
}
fclose($handle);
echo '{"currow":"' . $row . '", "rowcount":"' . $rowCount . '", "filename":"' . addslashes($file_name) . '", "state":"complete", "log":"' . $html . '"}';
}
}