File Handling

PHP File Writing

Writing Files in PHP

PHP file writing uses file_put_contents with various modes.

Introduction to PHP File Writing

Writing files in PHP is a common task that allows you to store data, create logs, or generate files dynamically. PHP provides several functions for file writing, but file_put_contents is the most straightforward and commonly used function. It simplifies the process of writing data to files.

Using file_put_contents

file_put_contents(filename, data, flags, context)
  • filename: The name of the file to write to.
  • data: The data to write. Can be a string, an array, or a stream resource.
  • flags: Optional. Specifies how to open/write to the file. Common flags include FILE_USE_INCLUDE_PATH, FILE_APPEND, and LOCK_EX.
  • context: Optional. A context resource created with stream_context_create().

Basic Example of Writing to a File

In this example, the string Hello, World! is written to a file named example.txt. If the file does not exist, it will be created automatically. If it does exist, its contents will be replaced with the new data.

Appending Data to a File

To append data to an existing file instead of overwriting it, use the FILE_APPEND flag. This allows you to add more data to a file without removing its current contents.

Here, the additional text is appended to example.txt, preserving the original content of the file.

Using LOCK_EX for Safe Writing

To prevent data corruption when multiple scripts try to write to the same file simultaneously, use the LOCK_EX flag. This creates a lock on the file while writing, ensuring that other scripts cannot write to the file until the lock is released.

By combining FILE_APPEND and LOCK_EX, this example safely appends a log entry to log.txt while preventing other processes from writing to the file at the same time.

Conclusion

PHP's file_put_contents function is a versatile tool for writing data to files. By understanding and using its various flags, you can effectively manage how data is written, whether by creating new files, appending data, or ensuring safe, concurrent writes. In the next post, we will explore file uploads, another essential aspect of PHP file handling.