A set of form file upload examples to test the new features in the upcoming ZF 2.1 release.
NOTE: These examples are only compatible with Zend Framework version 2.1 (or greater).
You can find a good primer on file uploading in the documentation.
- Using a single File element.
- Using multiple File elements in a Collection.
- Using a single File element with the HTML5 "multiple" attribute.
- Temporarily save uploaded file(s) until a form is completely valid.
- Using file uploads with the Post-Redirect-Get plugin.
- Using AJAX to upload files and displaying progress with Session Upload Progress (Requires PHP 5.4).
- Complex example using Session Upload Progress with a partially valid form (Requires PHP 5.4).
See the Example Controllers for more details.
If there is a use-case for file uploading that you'd like to see and isn't currently included here, please create a GitHub issue.
- Install the ZendSkeletonApplication.
- Clone this project into your
./vendor/
directory (or use composer, see below). - Enable
ZF2FileUploadExamples
in yourapplication.config.php
file. - Create a
./data/tmpuploads
directory, and make writeable by the webserver. - Download the jQuery Form plugin into
./public/js/jquery.form.js
(for the Upload Progress example). - Navigate to
/file-upload-examples
in your browser to see the list of examples.
You may also need to change/verify these php.ini
settings:
file_uploads = On
post_max_size = 50M
upload_max_filesize = 50M
session.upload_progress.enabled = On
session.upload_progress.freq = "1%"
session.upload_progress.min_freq = "1"
; Also make certain 'upload_tmp_dir' is writeable
{
"require": {
"cgm/zf2-file-upload-examples": ">=1.0.0"
}
}