You can write the content dynamically in text(.txt) file using Programmatic way with Magento 2 Standard approach.
Sometimes you need to create a directory and write a text file in the specific location of the system, You can add the content with interface Magento\Framework\Filesystem\Directory\WriteInterface.
I will show you to demo for writing the text file at a var folder with a custom folder. Let’s think our file is stored under the var/custom/demo.txt file in the Magento root. You need to create a Model class with a user-defined function to create a custom directory and demo text file.
<?php namespace Jesadiya\TextFile\Model; use Magento\Framework\Filesystem; use Magento\Framework\App\Filesystem\DirectoryList; use Magento\Framework\Exception\FileSystemException; use Magento\Framework\Filesystem\Directory\WriteInterface; class WriteTextFile { /** * @var DirectoryList */ private $directoryList; /** * @var Filesystem */ private $filesystem; public function __construct( DirectoryList $directoryList, Filesystem $filesystem ) { $this->directoryList = $directoryList; $this->filesystem = $filesystem; } /** * create custom folder and write text file * * @return bool */ public function createDemoTextFile() { $varDirectory = $this->filesystem->getDirectoryWrite( DirectoryList::VAR_DIR ); $varPath = $this->directoryList->getPath('var'); $fileName = 'demo.txt'; //textfile name $path = $varPath . '/custom/' . $fileName; // Write Content $this->write($varDirectory, $path); } /** * Write content to text file * * @param WriteInterface $writeDirectory * @param $filePath * @return bool * @throws FileSystemException */ public function write(WriteInterface $writeDirectory, string $filePath) { $stream = $writeDirectory->openFile($filePath, 'w+'); $stream->lock(); $fileData = 'Last Imported Order Id: 10000001'; $stream->write($fileData); $stream->unlock(); $stream->close(); return true; } }
This scenario is used when you have integrated Third-party tools for the order import/export and you can synchronization the last order send to the Third-party tools.
You can track the order id, with write down the latest order id to a text file, which was last successfully imported to the Third-party platform.