- Getting Started
- Browser Support
- Languages Support
- Shortcuts
- Activation
- Examples
- Customize the Editor
- Use-cases
- Plugins
- APIs
- Development Frameworks
- Server Integrations
- Server SDKs
- Migration Guides
- Changelog
- Tutorials
PHP File Validation
How it works
- Upload file to the server.
- Validate file on the server side before storing it.
File Upload
The Server Upload section describes the steps to upload a file to a server. You can validate files when you insert them in the editor, however that only checks the filename and not the mime type. It is advisable to make additional checks on the server side to make sure users only upload valid file formats.
Validate Extension
The editor's PHP SDK can check the file extension before storing it on disk, and it also checks the mime type.
$options = array(
'validation' => array(
'allowedExts' => array('txt', 'pdf', 'doc'),
'allowedMimeTypes' => array('text/plain', 'application/msword', 'application/x-pdf', 'application/pdf')
)
);
// Store the image.
$response = FroalaEditor_Image::upload('/uploads/', $options);
Custom Validation
You can also pass a custom method instead of validating the extension and mime type. This gives you full control on what types of files you want to store on disk. Below is an example of how to validate if a file is smaller than 10Mb.
$options = array(
'validation' => function($filePath, $mimetype) {
// Get file size.
$size = filesize($filePath);
// Check file size is smaller than 10Mb.
if ($size > 10 * 1024 * 1024) {
return false;
}
return true;
}
);
$response = FroalaEditor_Image::upload('/uploads/', $options);
Complete Example
<script>
new FroalaEditor('.selector', {
// Set the file upload URL.
fileUploadURL: '/upload_file.php',
fileUploadParams: {
id: 'my_editor'
}
})
</script>
<?php
// Include the editor SDK.
require 'PATH_TO_FROALA_SDK/lib/froala_editor.php';
$options = array(
'validation' => array(
'allowedExts' => array('txt', 'pdf', 'doc'),
'allowedMimeTypes' => array('text/plain', 'application/msword', 'application/x-pdf', 'application/pdf')
)
);
// Store the file.
try {
$response = FroalaEditor_Image::upload('/uploads/', $options);
echo stripslashes(json_encode($response));
}
catch (Exception $e) {
http_response_code(404);
}
?>
Additional Resources
- Building a Support System Using Laravel PHP Framework and Froala HTML Editor Software – Part 1
- Building a Support System Using Laravel PHP Framework and Froala HTML Editor Software – Part 2
- Building a Support System Using Laravel PHP Framework and Froala HTML Editor Software – Part 3
- How To Use WYSIWYG Editor In PHP
Do you think we can improve this article? Let us know.