сохранение в редакторе csv

Тема в разделе "Встроенный редактор CSV файлов", создана пользователем wezzer, 10 апр 2014.

  1. wezzer

    wezzer New Member Пользователи

    Регистрация:
    4 апр 2014
    Сообщения:
    18
    Подскажите, пожалуйста, сам так и не нашел в чем причина

    Спарсил контент, все нормально, получил готовый csv.
    решил его отредактировать в редакторе, удалил пару строк.
    При сохранении редактор проставил в конце каждой строки еще один разделитель ячейки ( ; ) В итоге при импорте база воспринимает этот разделитель как еще один столбец и выдает ошибку
    Пример:
    до - "2352";"Павел Кочкин";"1"
    после - "2352";"Павел Кочкин";"1";

    как удалить этот разделитель в конце?
     
    Последнее редактирование: 10 апр 2014
  2. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Думал, что эти разделители в конце никаких проблем не создадут (да и не должны по сути). Раз так, придется доработать функцию сохранения =)
    Ждите.
    Спасибо за обращение!
     
  3. wezzer

    wezzer New Member Пользователи

    Регистрация:
    4 апр 2014
    Сообщения:
    18
    Дело в том, что я делаю проект под импорт в joomla, и для импорта создаю csv и их закидываю уже в базу mysql. а для mysql эти разделители оказались критичными.
    Спасибо, буду ждать решения :nod:

    и попутный вопрос, есть или может в планах есть создание макроса или скрипта для формирования MD5 суммы? Особо не надеюсь но вдруг)
    или есть решение как сформировать сумму MD5 и использовать в шаблоне вывода для присвоения этой суммы файлу. Опять же для joomlы нужно все это.
     
    Последнее редактирование: 10 апр 2014
  4. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Теперь сохраняет без разделителя на хвосте. Скачайте новую сборку:
    По поводу MD5 - объясните практическое применение, рассмотрю...
     
  5. wezzer

    wezzer New Member Пользователи

    Регистрация:
    4 апр 2014
    Сообщения:
    18
    Спасибо!

    В joomla, а конкретно в K2 надстройке, в материалах используется ссылка на изображения, но прописана эта ссылка не напрямую в базе, а через ID материала, и изображение на сервере сохраняется сохраняется в папке images а вместо имени этих файлов используется соответствующая MD5 сумма.
    Т.е. например, ID материала 50, то название изображения будет MD5(50).jpg и хранится это изображение в отдельной папке на сервере.
    Вот и думал о такой реализации, что когда я парсю ссылки, то в качестве ID материала беру [INT_ID] и было бы удобно если бы был макрос, который для изображений делал MD5([INT_ID]).

    Объяснил как мог) Понимаю, что может мне это одному такое понадобилось и есть другие решения, но в целом было бы удобно, все в одном)
     
  6. wezzer

    wezzer New Member Пользователи

    Регистрация:
    4 апр 2014
    Сообщения:
    18
    По-моему разумению, наверное это легче реализовать через подключение php-скрипта. Но сам не силен в php и как прикрутить к программе не знаю.

    Нашел такой скрипт, но как реализовать его и подключить к программе и ее переменным понятия не имею. Для меня этот скрипт темный лес.

    $blacklist = array(".php", ".phtml", ".php3", ".php4", ".html", ".htm");
    foreach ($blacklist as $item)
    if(preg_match("/$item\$/i", $_FILES['somename']['name'])) exit;
    $type = $_FILES['somename']['type'];
    $size = $_FILES['somename']['size'];
    if (($type != "image/gif") &&($type != "image/png") && ($type != "image/jpg") && ($type != "image/jpeg")) exit;
    if ($size > 2002400) exit;
    $uploadfile = "./uzer/images/".$_FILES['somename']['name'];
    $newfile = "./uzer/images/".$_FILES = md5(uniqid("")).'.jpg';
    rename($uploadfile, $newfile) or die("Unable to rename $uploadfile to $newfile.");

    if (move_uploaded_file($_FILES['somename']['tmp_name'], $uploadfile))
    {
    echo "<br /><br /><font size='5' color='red'>Изображение успешно загружено на сервер</font>";
    }
    else
    {
    echo "<br /><br /><font size='5' color='red'>Ошибка! Не удалось загрузить изображение на сервер!</font>";
    exit;
     
  7. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Не переживайте.
    В этом можно очень быстро разобраться.
    Вот расписано, как подключить PHP-скрипт и передавать ему параметры (а так же получать ответ с помощью echo) Ссылки недоступны для гостей
    Если будут вопросы - задавайте (хотя я сам PHP не знаю, но постараюсь помочь).
    С уважением к вам, Сергей.
     
  8. wezzer

    wezzer New Member Пользователи

    Регистрация:
    4 апр 2014
    Сообщения:
    18
    А как в шаблоне вывода вызвать переменную из php скрипта с сервера? Получил сумму md5, но как использовать ее для задания имени файла пока не разобрался. Что нужно прописать в теге [dfn][/dfn]? , чтобы использовать переменную которую возвращает скрипт?
     
  9. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Повторяю:
    Скрипт возвращает данные в программу php-функцией echo (в скрипте)(смотрите пример скрипта Ссылки недоступны для гостей). Вернувшиеся от скрипта данные вставляются на место макроса PHP_SCRIPT!
     
  10. wezzer

    wezzer New Member Пользователи

    Регистрация:
    4 апр 2014
    Сообщения:
    18
    Я не сообразил, что сам скрипт нужно вставить в dfn блок. Буду тестить дальше.

    Заработало!!! Задачу решил! Теперь скрипт формирует название из md5 суммы и сохраняет изображение. Теперь все изображения соответствуют скаченным материалам для джумлы.

    Но блок dfn оставляет после себя в csv хвост с папкой и именем, что нужно сделать чтобы этот хвост не писался в csv?
    Решил вопрос путем внесения в блок safetofile в temp.csv

    Спасибо за наводку!!!
     
    Последнее редактирование: 11 апр 2014
  11. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Для удаления лишнего текста (перед сохранением документа) используйте макрос шаблона вывода CLEAR =)
     
  12. wezzer

    wezzer New Member Пользователи

    Регистрация:
    4 апр 2014
    Сообщения:
    18
    Догадывался, что есть что-то подобное, но найти не получалось. Спасибо еще раз за помощь!
     
    Последнее редактирование: 11 апр 2014

Поделиться этой страницей