Чтение Google таблиц через PHP и вывод данных на HTML страницу

Google shits

Привет, друзья! В этой статье вы узнаете как работать с гугл таблицами через PHP? а именно получать из Google Shits данные и выводить их на странице сайта в HTML таблицу. Эта задача интересная и может применяться в реальных проектах. Примером может послужить обычный лендинг, на котором размещены цены товаров и они периодически меняются. Но лендинг, к примеру, не имеет админки и в штате компании нет вебмастера, которых бы мог изменять цены на сайте.

Решением может быть как раз создание прайса в Google таблице. Если данные в ней будут обновлены, то автоматически цены изменятся и на сайте. Это очень удобно и сейчас максимально подробно объясню, как это реализовать с использованием языка PHP. Для начала в качестве примера создадим таблицу с неким набором данных. Пусть это будут мобильные телефоны.

Прайс лист на мобильные телефоны в гугл таблицах

Теперь необходимо предоставить доступ и отправить ссылку на редактирование Google таблицы для тех, кто будет это делать.

Редактирование гугл таблиц

Теперь сам PHP код, который поможет нам прочитать и вывести текст из гугл таблицы.

1
2
3
4
5
$id = 'Идентификатор документа. Его видно в ссылке';
$gid = 'Идентификатор листа. Первый лист всегда 0';
$csv = file_get_contents('https://docs.google.com/spreadsheets/d/' . $id . '/export?format=csv&gid=' . $gid);
$csv = explode("\r\n", $csv);
$array = array_map('str_getcsv', $csv);

Если мы сейчас распечатаем на странице переменную $array с помощью функции print_r, то увидим массив всего, что мы вносили в Google таблицу. Но нам нужно не просто его вывести, а красиво оформить в HTML таблице. И давайте ее создадим. Я буду использовать Bootstrap 4.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<table class="table">
  <thead class="thead-dark">
    <tr>
      <th scope="col"></th>
      <th scope="col">Марка</th>
      <th scope="col">Модель</th>
      <th scope="col">Цена</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">1</th>
      <td></td>
      <td></td>
      <td></td>
    </tr>
  </tbody>
</table>

Теперь напишем цикл foreach, вернее их будет 2, но перед ними создадим счетчик, который будет итерироваться с каждым проходом цикла и это будет нумерация в таблице.

$i = 0;

И так как у нас нулевой элемент массива — это названия, которые мы уже прописали вручную, то просто удалим его.

unset($array[0]);
1
2
3
4
5
6
7
8
9
10
foreach ($array as $arr){
  $i++;
  $html .= '<tr>';
  $html .= '<td scope="row">'.$i.'</td>';
  foreach ($arr as $td) {
    $html .= '<td scope="col">'.$td.'</td>';
  }
  $html .= '</tr>';
}
echo $html;

В итоге вся табличка должна получиться такой:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<table class="table">
  <thead class="thead-dark">
    <tr>
      <th scope="col"></th>
      <th scope="col">Марка</th>
      <th scope="col">Модель</th>
      <th scope="col">Цена</th>
    </tr>
  </thead>
  <tbody>
    < ?php
    foreach ($array as $arr){
  $i++;
  $html .= '<tr>';
  $html .= '<td scope="row">'.$i.'</td>';
  foreach ($arr as $td) {
    $html .= '<td scope="col">'.$td.'</td>';
  }
  $html .= '';
}
echo $html;
    ?>
  </tbody>
</table>

И мы получили все данные из Google таблицы средствами PHP. И более того, если они будут обновляться, а так же добавляться новые, то изменения автоматически произойдут и на сайте, что очень удобно.

html-table

И еще один нюанс. В большинстве случаев нет необходимости читать все таблицу целиком, а лишь небольшой диапазон и мы можем его задать. Это позволить освободить память и увеличить скорость чтения.

$range = 'A1:C10';
$csv = file_get_contents('https://docs.google.com/spreadsheets/d/' . $id . '/export?format=csv&gid=' . $gid. '&range=' . $range);

В этом случае таблица будет читаться из диапазона от A1 до C10. Все остальное на страницу не попадет, поэтому можно в остальных ячейках писать какие-то комментарии.

Собираем UTM метки в заявку и отправляем на почту при помощи PHP

utm_sourse php

Всем привет. Сейчас вы узнаете, как работать с UTM метками при помощи PHP, а именно мы будем собирать их в заявку. То есть при отправке формы на сайте все необходимые метки будут от оправлены на почту или куда-то еще вместе с основными данными. Как правило это номер телефона, Email адрес и имя клиента. Зачем вообще собирать UTM метки с сайта? В большинстве случаем это нужно маркетологам для того, чтобы отслеживать эффективность различных источников трафика. Так выглядит пример на реально работающем сайте:

UTM метки PHP

Получить UTM метки на PHP

Первое, что необходимо сделать — добавить в имеющуюся форму на сайте скрытое поле, input с типом hidden. Каждая UTM метка — это одно скрытое поле, поэтому нужно добавить именно cтолько, сколько будет меток в URL. Покажу на примере метки utm_sourse. И в value скрытого инпута необходимо поместить небольшой кусок PHP кода, в котором сделаем проверку на наличие GET-параметров в ссылке.

1
<input type="hidden" name="utm_sourse" value="<?php echo isset($_GET['utm_sourse']) ? $_GET['utm_sourse'] : '' ;?/>">

И если метка utm_sourse существует, то ее значение будет внесено в input с name=»utm_sourse». Осталось принять эти UTM метки в файле, который будет отправлять Email. Для этого напишем следующее:

$utm_sourse = $_POST['utm_sourse'] // Принимаем метку

И в самом теле сообщения, где будут данные о заявке сделаем проверку. Если переменная не пустая, то она будет включена в заявку. Обычно я делаю небольшую HTML таблицу для данных, поэтому мой код выглядит следующим образом:

1
2
3
4
5
6
if (!empty($utm_sourse)) {
   $message .= '<tr>
  <td><b>Рекламная система</b></td>
  <td>'.$utm_sourse.'</td>
 </tr>';
 }

Проверку нужно делать под каждую UTM метку. Более наглядно смотрите в видео, которое я подготовил специально для этого урока. Сложностей возникнуть не должно, но если что — пишите свои комментарии, постараюсь помочь разобраться.

Получаем последнее видео с YouTube канала через PHP

Привет. В последнее время я предпринимаю активные действия в раскрутке своего YouTube канала и в качестве дополнительного источника потенциальных подписчиков решил задействовать свой блог, который вы сейчас читаете. Я подумал, что было бы не плохо выводить последнее видео с моего ютуб канала и те, кому будет интересен мой контент, будут подписываться и таким образом развитие канала будет проходить быстрее. По крайней мере я запущу этот эксперимент на какое-то время и посмотрим, что из этого получится. Так как же получить последнее видео с ютуб канала средствами PHP? Есть решение, которое я нашел в сети и немного его доработал. Но в начале посмотрите демо страницу, на которой наглядно показано, как это работает.

Демо

А вот и сам скрипт:

1
2
3
4
5
6
7
8
$id = NULL;
$channel_id = 'UCgNG9gOPDO8_tmBd1sHzqHA';
$link = 'https://youtu.be/';
 
$xml = simplexml_load_file(sprintf('https://www.youtube.com/feeds/videos.xml?channel_id=%s', $channel_id));
$id = $xml->entry->children('yt', true)->videoId;
 
echo "<a href='$link{$id}'>Ссылка</a>";

Если необходимо встраивать последнее видео с канала, то необходимо добавить фрейм:

1
echo '<iframe width="560" height="315" src="https://www.youtube.com/embed/'.$id.'" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>';

Если использовать цикл foreach, то можно получить 15 последних видео с канала:

1
2
3
4
foreach ($xml as $value) {
  echo $value->id.'<br />'; // Идентификаторы видео
  echo $value->title.'<br />'; // Заголовки видео
}

Если использовать API YouTube, то можно получить гораздо больше информации о видео, но в данной статье мы рассмотрели только получение последнего ролика с ютуба. Надеюсь, что эта информация оказалась для вас полезной.

Стабилизация видео в Adobe Premiere pro (Warp Stabilizer)

Warp stabilizer Premiere Pro

Всем привет. Если в вашей камере нет встроенного стабилизатора, а так же если вы не используете для съемки видео штатив или внешний стабилизатор, то наверняка сталкивались с проблемой когда картинка в видео прыгает и ее колбасит в разные стороны. Это особенно заметно на длиннофокусных объективах. И, к счастью, это можно исправить уже после съемки, как говорится «на пост продакшене». Наиболее популярной программой для монтажа и цветокоррекции является Adobe Premiere Pro, в ней мы и будем делать стабилизацию для видео.

Для этого не требуется никаких дополнительных плагинов, это встроенная функция самой программы. В английской версии называется Warp stabilizer, а в русской — Стабилизатор деформации. Но если в русской dы будете искать в строке поиске по эффектам «стабилизатор», то результатов он не вам не выдаст, искать нужно именно «деформацию».

Стабилизация в Adobe Premiere Pro

Теперь необходимо просто перетащить на нужный отрезок клипа на таймлайне, после чего в элементах управления эффектами появятся настройки этого эффекта. Сразу после перетаскивания будет произведен просчет каждого кадра видео для его дальнейшей стабилизации и это занимает какое-то время. Все зависит от мощности вашего компьютера и длины и качества видео.

Анализ стабилизации в премьер про

Настроек у этого эффекта не так много, поэтому разобраться не сложно.

efects-premiere-pro

Как настроить стабилизацию в премьер про зависит от конкретного видео и на сколько оно динамично. Если вы хотите жестко зафиксировать картинку, чтобы она не двигалась и была максимально стабильна, то нужно выбрать параметр под названием Нет движения.

параметры стабилизации видео премьер про

И Плавное движение, если нужно стабилизировать именно движение, чтобы оно было более плавным без резких скачков и дерганий. Чуть ниже есть еще одна настройка, которая отвечает за то, как именно нужно стабилизировать видео в Премьер про, с кадрирование или нет. Если выбрать один из параметров с кадрированием то края видео будут обрезаны и сама картинка будет чуть увеличена. Если вы снимаете в высоком разрешении, например 4к, то это не критично, если Full HD или HD, то нужно будет посмотреть на итоговый вариант и решить на сколько он пригоден для использования в проекте.

kadrirovanie premiere pro

И после того, как будет завершен просчет видео и вы выберете нужные параметры, будет произведена стабилизация, которая занимает уже меньше времени.

Стабилизация premiere pro

Этих знаний будет достаточно для того, чтобы делать стабилизацию видео в Premiere Pro/ Если у вас есть какие-либо замечания, предложения, то пишите об этом в комментариях. Спасибо за внимание.

Сколько можно заработать на ютубе (на примере моего канала)

Привет, друзья! Пришло время поговорить о заработке на Youtube, а именно то, сколько можно заработать на канале. На моем канале подписчиков не так много, как хотелось бы всего 3000, но я надеюсь, что после прочтения этой статьи вы на него подпишетесь и наше сообщество будет расти более быстрыми темпами. Сразу скажу, что заработок подписчики это разные показатели и прямой зависимости у них нет, так как Youtube платит не за подписчиков, а за просмотр рекламы. И совсем не важно кто е посмотрел, ваш подписчик или же случайный зритель, нашедший ваш канал в поиске видеохостинга. Поэтому имеет смысл сосредоточить свои усилия на увеличение количества просмотров ваших видео, чем на рост числа подписчиков. Но это уже тема для совсем другой статьи здесь мы поговорим непосредственно об аналитике на моем канале, кстати, вот он:

Youtube-канал Александр Маврин

Но для начала немного предыстории. Канал я создал в далеко 2010-ом году практически одновременно с этим блогом и на тот момент о заработке на видео совсем не думал. Идея была публиковать видео-уроки и инструкции в дополнении к статьям и так продолжалось много лет. Но в начале 2020 года начал рассматривать Youtube, как дополнительный источник дохода и мне стало очень интересно сколько же можно заработать на ютубе имея совсем немного подписчиков. Каждый ютубер знает что на канале есть видеоролики — локомотивы, которые дают просмотров больше остальных, как правило их несколько и мой канал не стал исключением. Но по разными причинам видео, которые имели 100 и более тысяч просмотров — попадали под разные ограничения и не были монетизированы. Поэтому коммерческих воспроизведений не очень много. Давайте посмотрим на статистику моего канала за текущий месяц, он как раз подходит к концу.

Аналитика Youtube

В этом месяце я активно публиковал видео и даже пошел на некий эксперимент. Начал заливать видео не свойственные моему каналу, но они стали попадать в рекомендации и давать гораздо больше просмотров чем обычно на моем канале. За счет чего общее количество просмотров выросло на 600%. И заработок на ютубе тоже подрос и доходил до $5.75, это максимальное значение за сутки. А так по 2-3-4 доллара в день.

Заработок на ютубе

И если прилагать достаточно усилий на развитие канала, то перспективы есть и можно дойти до заработка $10 в день и более, а это уже куда более ощутимая сумма, чем сейчас. Поэтому если вы задаетесь вопросом: сколько можно заработать на ютубе, то теперь примерно представляете, что чем больше будет просмотров у ваших видео, тем выше будет доход. на скриншоте выше видно, что такой показатель, как доход на тысячу просмотров говорит о том, что это стоимость всех без исключения просмотров. То есть если просмотров видео было 100000, то нужно 0.22 * 100 = $22 — поучим сумму, которая будет начислена за просмотры. Этот показатель плавающий и может как расти, так и уменьшаться, так же, как и цена за тысячу показов по воспроизведениям. Это стоимость за 1000 показов рекламы.

Если посмотреть на популярных блогеров, то можно понять что основной доход у них не от партнерской программы Youtube, а от рекламных контрактов, которые приносят гораздо больше денег. И остается только догадываться сколько можно заработать на Youtube-канале имея большую аудиторию и миллионы просмотров каждый день. Но по своему опыту могу сказать, что это не легко. Есть конечно исключения, когда один единственный ролик на канале становился вирусным и приносил его автору мега популярность, узнаваемости и щедро оплачиваемые рекламные контракты. Но в основном приходится трудится и регулярно выкладывать на канал видео. поэтому легким заработком это назвать никак нельзя. Но заработать на ютубе можно, а вот сколько — все зависит от вас.