What we’ve got here is a FileUpload component for Flex which utilizes the new
FileReference.load method available since Flash Player 10 to support uploading of large files.
As a lot of providers choose a very small size for their PHP ini settings of
post_max_size, uploading files bigger than 2mb is often not supported. This can be very annoying if you like to upload mp3 or video files, which easily can exceed the maximum accepted file size. In this case you normally have to go with an FTP client.
Uploading large files
If supported by the client’s Flash Player this upload component utilizes the new
FileReference.load method to load the file into the ram of the client computer at first. Once loaded the file data can be read via the
data property of the
FileReference object. It is now possible to extract chunks of the loaded file data and upload those chunks to the server separately. This way the upload-data won’t exceed the maximum accepted post data of the server as the chunks used are a lot smaller. On the server side, a php script is joining the chunks together to the original file.
Prior to uploading the uploader also calculates an adler32 checksum of the file data. This checksum is used to check if a partially uploaded file already exists on the server and an upload operation can be resumed.
CXS stands for Compact XML Serialization.
CXS is an XML application for data serialization developed by zehnet which offers the possibility of transferring complex data structures between programming environments.
The process of creating an XML representation of application data is called serialization.
The process of instantiating data from an XML representation is called unserialization.
CXS adapts PHP’s serialization structure to XML and extends this structure with some data types known from WDDX.
CXS is aimed to offer a representation of data structures which is compact (i.e. few bytes, little overhead) and effectively to parse in different programming environments.
The idea for CXS was to build up a serialization scheme for Flash (client) – PHP (server) communication, which can be handled easily in both environments and keeps traffic as low as possible.