Публикация на тему

Парсер Google таблиц по ссылке на PHP


В статье рассматривается парсер CSV файла Google таблицы с помощью PHP, Laravel по ссылке.



Автор

Михалькевич Александр Викторович


Публикация

Наименование Парсер Google таблиц по ссылке на PHP

Автор А.В.Михалькевич

Специальность В статье рассматривается парсер CSV файла Google таблицы с помощью PHP, Laravel по ссылке.,

Анотация

Anotation in English

Ключевые слова

Количество символов 2830

Содержание

Введение

1 Создание таблицы в приложениях Google

Сперва необходимо создать таблицу.

Для этого из приложений Gooogle переходим по вкладке Таблицы. Ссылка - https://docs.google.com/spreadsheets/u/0/?tgif=d

Далее нажимаем на кнопку Пустой файл. Задаём имя таблицы и в первой строке пишем названия полей. Остальные строки должны содержать значение полей.

 

2 Публикация в интернете и получение csv-файла

После того, как таблица готова, её нужно опубликовать.

Для этого переходим по ссылкам:

Файл -> Поделиться -> Опубликовать в

интернете.

Выбираем из списка Весь документ и файл CSV

После нажатия на кнопку Опубликовать, мы получим ссылку по которой будет доступен CSV-файл этой таблицы.

3 Обработка документа в контроллере Laravel

Полученную ссылку можно вставить в качестве параметра url в $request в экшн getCourse следующего контроллера:

use App\Models\Course;

class CsvController extends Controller
{
    public function getCourse(Request $request)
    {
        $url = $request->url;
        $row = 1;
        if (($handle = fopen($url, "r")) !== false) {
            while (($data = fgetcsv($handle, 1000, ",")) !== false) {
                $num = count($data);

                if ($row == 1) {
                    $arr_name = [];
                    for ($c = 0; $c < $num; $c++) {
                        $arr_name[] = $data[$c];
                    }
                } else {
                    $id = $data[0];
                    $course = Course::find($id);
                    foreach($arr_name as $key => $value){
                        $course->$value = $data[$key];
                    }
                    $course->save();
                }
                $row++;
            }
            fclose($handle);
        }
        return 'Ok';
    }
}
После чего останется только добавить маршрут для этого экшна

Заключение

Список использованных источников

Приложения