Отправка почты через SMTP Yandex

Самый простой способ отправлять письма на сайте с помощью PHP, это использовать библиотеку PHPMailer и SMTP например Yandex-Почты или Google Mail. В данном примере мы разберём именно Yandex-Почту.

Читать далее Отправка почты через SMTP Yandex

php-gui — GUI библиотека для PHP

PHP является самым популярным языком программирование для написания веб-приложений. Он очень простой, быстрый и имеет кроссплатформенный интерпретатор. Многие используют его именно для веб-приложений, однако PHP может гораздо больше.

Знаешь ли ты, что на PHP можно писать консольные приложения, которые будут работать в твоём терминале? А про то, что на PHP можно писать программы с GUI для Linux, Windows и macOS?

Читать далее php-gui — GUI библиотека для PHP

Локальный веб-север XAMPP — Apache + MariaDB + PHP

XAMPP — это одна из самых популярных сред разработки для Linux, macOS и Windows содержащая в себе веб-сервер Apache, базу данных MariaDB (+phpMyAdmin) и интерпретатор языка PHP.

Читать далее Локальный веб-север XAMPP — Apache + MariaDB + PHP

Простая пагинация статей на PHP

<?php

// помещаем номер страницы из массива GET в переменую $page
$page = isset($_GET["page"]) ? (int) $_GET["page"] : 1;

// количество статей на страницу
$on_page = 5;

// (номер страницы - 1) * статей на страницу
$shift = ($page - 1) * $on_page;

$result = $this->db->select("SELECT * FROM `articles` LIMIT $shift, $on_page");

// выводим заголовок и контент
foreach ($result as $row) {
    echo "<h1>" . $row["title"] . "</h1>";
    echo "<p>" . $row["content"] . "</p>";
}

// получаем количество статей и сохраняем как элемент массива "all_articles"
$result = $this->db->select("SELECT count(*) AS all_articles FROM `articles`");

$count = $result["all_articles"];
$pages = ceil($count / $on_page);

for ($i = 1; $i <= $pages; $i++) {
    // если текущая старница
    if($i == $page){
        echo " [$i] ";
    } else {
        echo "<a href='index.php?page=$i'>$i</a> ";
    }
}

Содаём и выводим дерево страниц в PHP

Создаём дерево:


<?php

    function make_tree($level = 0)
    {

	    $tree = [];

	    // Получаем все родительские страницы
	    $pages = $this->db->select("SELECT * FROM pages WHERE id_parent = '$level'");

	    // Если массив с родительскими страницами не пуст
	    if(!empty($pages)) {

		    foreach($pages as $page) {
		
			    // Добавляем в массив элемент "children" (потомки) и вызываем рекурсивно функцию с id_page
			    // Помещаем туда всех потомков одного родителя
			    $page['children'] = $this->make_tree($page['id_page']);

			    // Помещаем в массив $map
			    $tree[] = $page;

		    }

	    }

	    return $tree;
    }

?>

Читать далее Содаём и выводим дерево страниц в PHP

Меняем слово в строке с помощью PHP

Задача:

Есть строка (String), в ней есть разделитель «|».

Нужно поменять слово «Плауэн» на «Франкфурт на Майне».

Читать далее Меняем слово в строке с помощью PHP

Отправка SMS-сообщений с помощью PHP

Шлюз: http://r.phpland.org/38/smsaero

PHP-Класс (API) для работы: http://r.phpland.org/39/github-smsaeroapi

Пример использования:

$sms = new Smsaero('test@local.ru', 'password', 'PROVERKA');

echo $sms->send(
    '79001234567',
    'Сообщение с тремя пробелами'
);

Обрезаем контент по количеству символов в PHP


function shortText(array $article)
{

    // обращаемся к элементу content массива articles
    $res = $article["content"];

    // если content больше 50 символов
    if (strlen($res) > 50) {

        // обрезаем после 50 символов
        $res = substr($article["content"], 0, 50);

        // разбиваем строку по пробелу
        $temp = explode(' ', $res);

        // удаляем последний элемент
        unset($temp[count($temp) - 1]);

        // соеденяем массив $temp и в конец добавляем ...
        $res = implode(' ', $temp) . "...";

    }

    return $res;
}

Вариант 2


function mbCutString($str, $length, $postfix='...', $encoding='UTF-8')
{

    if (mb_strlen($str, $encoding) <= $length) {
        return $str;
    }
  
    $tmp = mb_substr($str, 0, $length, $encoding);

    return mb_substr($tmp, 0, mb_strripos($tmp, ' ', 0, $encoding), $encoding) . $postfix;

}

PHP + Sitemap.xml + Short Tags = Ошибка

Забавную штуку заметил при создании sitemap (xml) на PHP.

Если в настройках PHP включена опция «Short Tags», то при написании следующего кода:

<?xml version="1.0" encoding="UTF-8"?>

Будет выходить ошибка:

Parse error: syntax error, unexpected 'version' (T_STRING) in ... on line 1

Чтобы исправить эту ошибку, нужно написать примерно так:

<?php echo '<?xml version="1.0" encoding="utf-8"?>' ?>

Отображение ошибок в PHP

Включить отображение ошибок в PHP можно несколькими способами.

Вы сможете испробовать все способы и остановиться на том, который вам больше понравится.

Читать далее Отображение ошибок в PHP