На одном проекте было необходимо по ссылке сохранять переменные в файл CSV. Реализовал это средствами PHP, через сниппеты в WordPress.
Для этого завел сниппет, как шорткод. Сам шорткод [save_csv] вставил на страницу, на которую ссылается форма с перемеными передаваемые GET запросом.
URL имеет вот такой вид:
1 |
/result2/?d2=29&m2=09&y2=1989&prof_name=Имя&email=mail%40mail.ru&checkbox-1=Даю-согласие-на-обработку-своих-персональных-данных-в-соответствии-с-Условиями |
Код самого сниппета вот:
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 |
add_shortcode( 'save_csv', function () { // начало шорткода if ( $_GET['checkbox-1']='Даю-согласие-на-обработку-своих-персональных-данных-в-соответствии-с-Условиями' ) { function saveRow($list) { $file = fopen($_SERVER['DOCUMENT_ROOT'].'/wp-content/uploads/base.csv','a'); foreach ($list as $line) { // перекодеровка в cp1251, что открывалось в Excel $line = iconv( "UTF-8", "cp1251", $line ); fputcsv($file,explode(',',$line)); } fclose($file); } // Массив с GET-переменными saveRow( Array( $_GET['d2'].';'.$_GET['m2'].';'.$_GET['y2'].';'.$_GET['prof_name'].';'.$_GET['email'].';'.'checkbox-1=true' )); } // конец шорткода // } ); |
Файл сохраняется по адресу /wp-content/uploads/base.csv и имеет правильную кодировку cp1251, для открытия его через Excel без лишних манипуляций.