A common use for base64_encode is processing data without rebuilding the operation manually. Encodes binary data as printable Base64 text. Base64 is reversible encoding, not encryption.
What Is base64_encode in PHP?
Encodes binary data as printable Base64 text. Base64 is reversible encoding, not encryption.
Syntax:
base64_encode(?string $string) : string
Parameters and Return Value
$string— A required string input for this operation. Verify the allowed values in the examples and context below.
Declared return type: string. Distinguish false, an empty result, and exceptions where the API permits them.
Example 1: Basic Usage
This example demonstrates the main operation with a small, controlled input.
<?php
echo base64_encode("Hello PHP");
The example focuses on the value produced or the state changed by this API. Review the return value and validate input before using this pattern in production.
Example 2: Another Input
This example changes the input or surrounding setup to illustrate another behavior.
<?php
echo base64_encode("\x00\xFF");
The example focuses on the value produced or the state changed by this API. Review the return value and validate input before using this pattern in production.
Practical Example
This application-style example shows a self-contained usage pattern and checks its result.
<?php
$binaryPayload = random_bytes(12);
$encodedValue = base64_encode($binaryPayload);
echo strlen($encodedValue);
The example focuses on the value produced or the state changed by this API. Review the return value and validate input before using this pattern in production.
Important Behavior and Edge Cases
- Check a strict Base64 decode when processing untrusted input.
- Use the intended input type and handle empty or malformed values explicitly.
- Where this API requires an extension, version, or file, document that dependency before using it in a real application.
Comparison With Related Functions
| Function or Method | When to Use It |
|---|---|
base64_encode | Encodes binary data as printable Base64 text. Base64 is reversible encoding, not encryption. |
base64_decode | Decodes Base64 text back into the original bytes. The strict flag rejects invalid characters. |
Common Beginner Mistakes
| Mistake | Correct Approach |
|---|---|
| Using this API without checking the required input or extension | Check a strict Base64 decode when processing untrusted input. |
| Treating Base64 as encryption | Use authenticated encryption when confidentiality and integrity are required. |
| Ignoring invalid encoded input | Use strict decoding and verify the result before processing. |
Key Takeaways
- Encodes binary data as printable Base64 text. Base64 is reversible encoding, not encryption.
- Check a strict Base64 decode when processing untrusted input.
- Test both the expected case and at least one failure or empty-input case before deployment.
Encodes binary data as printable Base64 text. Base64 is reversible encoding, not encryption. Use it when the operation fits your input, output and validation requirements.