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

Форум PHP

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

 

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

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

тема: shop-script
 
 автор: serg666   (14.02.2007 в 21:40)   письмо автору
 
 

Всем добрый день. За ранее прошу прощения, если не внятно объясню суть ....
Значит так, поставили задачу выяснить ссылку при загрузки excel файла в админке, чтоб через планировщик все автоматизировать.
То есть по пунктам ....
сама ссылка скрипта в админке импорта файла .csv:
http://impex/admin.php?dpt=catalog&sub=excel_import
далее
1. через кнопку Обзор выбирается файл
2. выберется путем (нам нужна Табуляция) <select><option value="Табуляция">Табуляция</option></select> Разделитель в импортируемом CSV файле
3. выбирается (<input type="radio">) Обновить базу
4. и кнопка (<input type=submit value="OK">) Ok
вот нужно выяснить эту ссылку .... как я себе это представляю (тока не смейтесь, образно):
http://impex/admin.php?dpt=catalog&sub=excel_import&Tabulyacuya&file=C:\Base\base.csv&update_base

вот собственно и все, как я себе представляю это дело. Если что не понятно спрашивайте, прилаживаю catalog_excel_import.php в нем как я понимаю нужные вещи находятся, и шаблон формы импорта файла catalog_excel_import.tpl.html


<?php
/*****************************************************************************
 *                                                                           *
 * Shop-Script PREMIUM                                                       *
 * Copyright (c) 2005 WebAsyst LLC. All rights reserved.                     *
 *                                                                           *
 *****************************************************************************/
?><?php
    
//products and categories catalog import from MS Excel .CSV files
    
if (!strcmp($sub"excel_import"))
    {

        
//validate $_POST["delimeter"] data
        
if (isset($_POST["delimeter"]) && strlen($_POST["delimeter"])==0)
            
$_POST["delimeter"] = ";";


        if (isset(
$_POST["proceed"]) && isset($_POST["mode"])) //upload file and show import configurator
        
{
            if (
CONF_BACKEND_SAFEMODE//this action is forbidden when SAFE MODE is ON
            
{
                
Redirect("admin.php?dpt=catalog&sub=excel_import&safemode=yes");
            }

            
$res 0;

            if (
$_POST["mode"] == 2// reset database content
            
{
                
imDeleteAllProducts();
                
$res 1;
                
$smarty->assign("excel_import_result""ok");
            }
            else 
//update
            
{
                
//upload CSV-file
                
if (isset($_FILES["csv"]) && $_FILES["csv"]["name"])
                {
                    
$file_excel_name "./temp/file.csv";
                    
$res = @move_uploaded_file($_FILES["csv"]["tmp_name"], $file_excel_name);
                    
$smarty->assign("file_excel_name"$file_excel_name);
                }
                if (isset(
$res) && $res//uploaded successfully
                
{
                    
SetRightsToUploadedFile$file_excel_name );

                    
//show import configurator
                    
$data myfgetcsv($file_excel_name$_POST["delimeter"]);
                    if (!
count($data)) die (ERROR_CANT_READ_FILE);
                    
$excel_configurator imGetImportConfiguratorHtmlCode($data);
                    
$smarty->assign("excel_import_configurator"$excel_configurator);
                    
$smarty->assign("delimeter"$_POST["delimeter"]);
                }
                else 
$smarty->assign("excel_import_result""upload_file_error");
            }
        }

        
//last step of import = fill database with new content
        //configuration finished - update database
        
if (isset($_POST["do_excel_import"]) && isset($_POST["filename"]) && isset($_POST["update_column"]))
        {
            if (
CONF_BACKEND_SAFEMODE//this action is forbidden when SAFE MODE is ON
            
{
                
Redirect("admin.php?dpt=catalog&sub=excel_import&safemode=yes");
            }

            @
set_time_limit(0);

            
//import file content
            
$data=myfgetcsv($_POST["filename"], $_POST["delimeter"]);
            if (!
count($data)) die (ERROR_CANT_READ_FILE);

            
$res imReadImportConfiguratorSettings();
            
$db_association            $res["db_association"];
            
$dbcPhotos                $res["dbcPhotos"];
            
$dbc                    $res["dbc"];
            
$updated_extra_option    $res["updated_extra_option"];

            
//get update column
            
$uc $dbc$_POST["update_column"] ];
            if (!
strcmp($uc,"not defined")) //not set update column
            
{
                
$smarty->assign("excel_import_result""update_column_error");
                
//go to the previous step
                
$proceed 1;
                
$file_excel "";
                
$file_excel_name $_POST["filename"];
                
$res 1;
            }
            else
            {
$begin time();
                
$parents = array(); //2 create a category tree
                
$parents[0] = 1;
                
$currentCategoryID 1;
                for (
$i=$_POST["number_of_titles_line"]+1$i<count($data); $i++)
                {
                    
$a time();
                    
imImportRowToDataBase$data[$i], $dbc$uc$dbcPhotos
                        
$updated_extra_option$parents$currentCategoryID );
                    
$b time();
                    
//echo $data[$i][$dbc["name"]]." - ".($b-$a)."<br>";
                
}
                
$end time();

                
//update products count value if defined
                //if (CONF_UPDATE_GCV == 1)
                    
update_products_Count_Value_For_Categories(1);
                
$smarty->assign("excel_import_result""ok");
            }
        }
        
$smarty->assign("admin_sub_dpt""catalog_excel_import.tpl.html");
    }
?>


и еще, для этого обязательный сеанс под логином админ и пароль ?

   
 
 автор: serg666   (15.02.2007 в 03:03)   письмо автору
 
   для: serg666   (14.02.2007 в 21:40)
 

help

   
 
 автор: Trianon   (15.02.2007 в 10:01)   письмо автору
 
   для: serg666   (14.02.2007 в 21:40)
 

Вы заблуждаетесь. Данные файла при загрузке на серевер никогда не передаются через ссылку.

Более того, данные форм в 95% случаев тоже передаются не через ссылку, а в теле POST-запроса.

   
Rambler's Top100
вверх

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