Метод append
Метод append добавляет переданные данные в конец файла.
Он полезен для ведения логов, записи данных в конец CSV-файлов
или любого другого случая, когда требуется дописать информацию в существующий файл.
Метод принимает два обязательных параметра: путь к файлу и строку данных для записи.
Если файл не найден, он будет создан автоматически. Метод возвращает true
в случае успеха или false при ошибке.
Синтаксис
<?php
use Illuminate\Support\Facades\Storage;
Storage::append($path, $data);
?>
Пример
Давайте добавим строку в конец файла 'logs/app.log':
<?php
use Illuminate\Support\Facades\Storage;
$path = 'logs/app.log';
$data = 'New log entry: User logged in at ' . now();
$res = Storage::append($path, $data);
echo $res ? 'Data appended successfully' : 'Failed to append data';
?>
Результат выполнения кода:
"Data appended successfully"
Пример
Если файл не существует, метод создаст его:
<?php
use Illuminate\Support\Facades\Storage;
$path = 'logs/newfile.log';
$data = 'First line of new file';
$res = Storage::append($path, $data);
// Проверяем, создался ли файл
$exists = Storage::exists($path);
echo $exists ? 'File created' : 'File not created';
?>
Результат выполнения кода:
"File created"
Пример
Давайте добавим несколько строк в файл с логами:
<?php
use Illuminate\Support\Facades\Storage;
$path = 'logs/app.log';
$logs = [
'[INFO] Application started',
'[WARNING] Low memory detected',
'[ERROR] Connection failed'
];
foreach ($logs as $log) {
Storage::append($path, $log);
}
$content = Storage::get($path);
echo $content;
?>
Результат выполнения кода:
"[INFO] Application started
[WARNING] Low memory detected
[ERROR] Connection failed"
Пример
Метод также работает с различными дисками, указанными в конфигурации:
<?php
use Illuminate\Support\Facades\Storage;
// Запись на публичный диск
$path = 'public/logs/app.log';
$data = 'Public log entry';
$res = Storage::disk('public')->append($path, $data);
echo $res ? 'Public log appended' : 'Failed to append public log';
?>
Результат выполнения кода:
"Public log appended"