How to Use file_get_contents in PHP: Syntax and Examples
Use
file_get_contents in PHP to read the entire content of a file or URL into a string. Simply pass the file path or URL as a parameter, and it returns the content or false on failure.Syntax
The basic syntax of file_get_contents is simple and looks like this:
- filename: The path or URL of the file to read.
- use_include_path (optional): Whether to search in the include path.
- context (optional): A context resource for stream options.
- offset (optional): Start reading from this byte offset.
- maxlen (optional): Maximum number of bytes to read.
php
string file_get_contents(string $filename, bool $use_include_path = false, resource $context = null, int $offset = 0, int $maxlen = -1)
Example
This example reads the content of a local text file named example.txt and prints it. It shows how easy it is to get file contents as a string.
php
<?php // Read the entire content of example.txt $content = file_get_contents('example.txt'); if ($content === false) { echo "Failed to read the file."; } else { echo "File content:\n" . $content; } ?>
Output
File content:
Hello, this is example text.
Common Pitfalls
Common mistakes when using file_get_contents include:
- Not checking if the function returns
falseon failure. - Trying to read a file that does not exist or has wrong permissions.
- Using it on large files without limits, which can exhaust memory.
- For URLs, not enabling
allow_url_fopenin PHP settings.
Always validate the return value and handle errors gracefully.
php
<?php // Wrong way: no error check $content = file_get_contents('missing.txt'); echo $content; // Warning and empty output // Right way: check for failure $content = file_get_contents('missing.txt'); if ($content === false) { echo "Error: Could not read the file."; } else { echo $content; } ?>
Output
Error: Could not read the file.
Quick Reference
| Parameter | Description | Default |
|---|---|---|
| filename | Path or URL of the file to read | Required |
| use_include_path | Search in include path if true | false |
| context | Stream context resource | null |
| offset | Start reading from this byte | 0 |
| maxlen | Maximum bytes to read | Read entire file |
Key Takeaways
Use file_get_contents to read entire file or URL content into a string easily.
Always check if file_get_contents returns false to handle errors.
For URLs, ensure allow_url_fopen is enabled in PHP settings.
Avoid reading very large files without limits to prevent memory issues.
Use optional parameters to control reading offset and length.