---
title: "Совет по Joomla: замена File::append() в Joomla 6 - WebTolk"
description: "В Joomla постепенно, хоть порой и непоследовательно, убирают старое API, доставшееся в наследство от CMS и заменяют его на API от Joomla Framework. На что заменить устаревший в Joomla 6 метод File::append() расскажет эта статья."
url: "https://web-tolk.ru/blog/sovet-po-joomla-zamena-file-append-v-joomla-6"
date: "2025-10-27T04:33:31+00:00"
language: "ru-RU"
---

# Совет по Joomla: замена File::append() в Joomla 6

 Автор: Сергей Толкачев Создано: 27 октября 2025 Обновлено: 20 ноября 2025 Просмотров: 311

В Joomla постепенно, хоть порой и непоследовательно, убирают старое API, доставшееся в наследство от CMS и заменяют его на API от Joomla Framework. При этом порой не обходится без потерь. Многие классы и методы ядра годами имеют статус `deprecated`, многим имеется альтернатива.

Такими классами являются классы для работы с файловой системой сервера Joomla\CMS\Filesystem. Они перемещены в плагин обратной совместимости Joomla 6 и могут ещё работать. Но лучше постепенно переходить на новые методы, а в новых расширениях использовать их сразу.

Одним из "пострадавших" методов стал `File::append()`, который добавлял содержимое в конец файла. Это обёртка для `file_put_contents()` с разными проверками, использованием потоков, если надо и т.д. Заменой для этого метода станет `File::write()` с флагом `appendToFile`.

## Параметры метода

- `string $file` – Абсолютный путь к файлу
- `string $buffer` – Содержимое
- `bool $useStreams false` – Использовать потоки
- `bool $appendToFile false` – дописывать ли в конец или перезаписывать файл

```
<?php
use Joomla\Filesystem\File;

$absoluteFilePath = JPATH_SITE . '/dir/file.txt';
$content = 'Содержимое файла';

// appentToFile - 4-й аргумент
File::write($absoluteFilePath, $content, false, true);
```

Либо с PHP 8.0 можно использовать именованные аргументы, и тогда не важен их порядок и наличие необязательных.

```
<?php
use Joomla\Filesystem\File;

$absoluteFilePath = JPATH_SITE . '/dir/file.txt';
$content = 'Содержимое файла';

//Именованные аргументы, appentToFile  теперь 3-й аргумент
File::write(file: $absoluteFilePath, buffer: $content, appendToFile: true);
```

Класс находится в **libraries/vendor/joomla/filesystem/src/File.php**. Кстати, для некоторых удалённых методов теперь нужно использовать нативные функции php:

- вместо `Folder::exists()` ➡️ `is_dir()`
- вместо `File::exists()` ➡️ `is_file()` или `file_exists()`

- [Этот пост в Telegram @webtolkru](https://t.me/webtolkru/765)

## Об авторе

![Толкачев Сергей Юрьевич](https://web-tolk.ru/images/uslugi/sergey-tolkachyov-apr-2023.webp)

### Толкачев Сергей Юрьевич

Joomla-разработчик. [Контрибьютер ядра Joomla](https://github.com/joomla/joomla-cms/pulls?q=is%3Apr+author%3Asergeytolkachyov+). Один из ведущих Telegram-канала русскоязычного Joomla-сообщества [JoomlaFeed](https://t.me/joomlafeed), один из модераторов [чата русскоязычного Joomla-сообщества](https://t.me/joomlaru). Мои расширения в официальном маркетплейсе расширений Joomla - [Joomla Extensions Directory](https://extensions.joomla.org/profile/profile/details/528051/). Имею публикации в [официальном журнале международного Joomla-сообщества - Joomla Community Magazine](https://magazine.joomla.org/authors/sergeytolkachyov) и на [официальном сайте русскоязычного Joomla-сообщества](https://joomlaportal.ru/users/sergey-tolkachyov).

Муж. Отец 3 детей.

Россия, Саратов.

## JSON-LD Schema

```json
{
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "@id": "https://web-tolk.ru/#/schema/BreadcrumbList/17",
    "itemListElement": [
        {
            "@type": "ListItem",
            "position": 1,
            "item": {
                "@id": "https://web-tolk.ru/",
                "name": "Главная"
            }
        },
        {
            "@type": "ListItem",
            "position": 2,
            "item": {
                "@id": "https://web-tolk.ru/blog",
                "name": "Блог"
            }
        },
        {
            "@type": "ListItem",
            "position": 3,
            "item": {
                "name": "Совет по Joomla: замена File::append() в Joomla 6"
            }
        }
    ]
}
```

```json
{
    "@context": "https://schema.org",
    "@graph": [
        {
            "@type": "Organization",
            "@id": "https://web-tolk.ru/#/schema/Organization/base",
            "name": "WebTolk",
            "url": "https://web-tolk.ru/",
            "logo": {
                "@type": "ImageObject",
                "@id": "https://web-tolk.ru/#/schema/ImageObject/logo",
                "url": "images/webtolk-1080p.jpg",
                "contentUrl": "images/webtolk-1080p.jpg",
                "width": 1920,
                "height": 1080
            },
            "image": {
                "@id": "https://web-tolk.ru/#/schema/ImageObject/logo"
            },
            "sameAs": [
                "https://github.com/WebTolk",
                "https://github.com/sergeytolkachyov",
                "https://vk.com/web_tolk",
                "https://vk.com/webtolkru",
                "https://tenchat.ru/sergeytolkachyov",
                "https://t.me/sergeytolkachyov",
                "https://t.me/webtolkru"
            ]
        },
        {
            "@type": "WebSite",
            "@id": "https://web-tolk.ru/#/schema/WebSite/base",
            "url": "https://web-tolk.ru/",
            "name": "WebTolk",
            "publisher": {
                "@id": "https://web-tolk.ru/#/schema/Organization/base"
            }
        },
        {
            "@type": "WebPage",
            "@id": "https://web-tolk.ru/#/schema/WebPage/base",
            "url": "https://web-tolk.ru/blog/sovet-po-joomla-zamena-file-append-v-joomla-6",
            "name": "Совет по Joomla: замена File::append() в Joomla 6 - WebTolk",
            "description": "В Joomla постепенно, хоть порой и непоследовательно, убирают старое API, доставшееся в наследство от CMS и заменяют его на API от Joomla Framework. На что заменить устаревший в Joomla 6 метод File::append() расскажет эта статья.",
            "isPartOf": {
                "@id": "https://web-tolk.ru/#/schema/WebSite/base"
            },
            "about": {
                "@id": "https://web-tolk.ru/#/schema/Organization/base"
            },
            "inLanguage": "ru-RU",
            "breadcrumb": {
                "@id": "https://web-tolk.ru/#/schema/BreadcrumbList/17"
            }
        },
        {
            "@type": "Article",
            "image": "https://web-tolk.ru/images/blog/sovet-po-joomla-zamena-file-append-v-joomla-6/joomla-php-file-write-method.webp",
            "headline": "Совет по Joomla: замена File::append() в Joomla 6",
            "description": "В Joomla постепенно, хоть порой и непоследовательно, убирают старое API, доставшееся в наследство от CMS и заменяют его на API от Joomla Framework. На что заменить устаревший в Joomla 6 метод File::append() расскажет эта статья.",
            "author": {
                "@type": "person",
                "name": "Сергей Толкачев",
                "url": "https://web-tolk.ru",
                "email": "info@web-tolk.ru"
            },
            "@id": "https://web-tolk.ru/#/schema/com_content/article/158",
            "isPartOf": {
                "@id": "https://web-tolk.ru/#/schema/WebPage/base"
            }
        }
    ]
}
```
