PHP Classes
elePHPant
Icontem

100% PHP Uploader: Track the progress of file upload with Web sockets

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Info   View files View files (7)   DownloadInstall with Composer Download .zip   Reputation   Support forum (6)   Blog    
Last Updated Ratings Unique User Downloads Download Rankings  
2011-11-03 (3 years ago) RSS 2.0 feedStarStarStar 53%Total: 3,015 This week: 2All time: 1,143 This week: 593Up
Version Licenses PHP version Categories  
up-man 0.1GNU Free Document...5.2HTTP
Description Author  

This class can track the progress of file upload using Web sockets receive the files.

It can generate HTML and JavaScript to upload a file by using a TCP socket that listens to the HTTP request on a given port to receive the files being uploaded.

The class can send HTML with JavaScript statements to the browser that will update the upload progress information displayed to the user.

Innovation Award  
PHP Programming Innovation award winner
November 2011
Winner


Prize: One book of choice by Packt
Uploading files to Web sites is a task that may take long if files are large.

Showing the progress of uploading large files to users is an important feature because it lets the user know how long he needs to wait and so reduce his anxiety.

This class can be used to show the progress of files being uploaded to a site. It starts a parallel Web server that receives a file being uploaded.

This way it can keep track of how much data has been received in order to show progress report in a parallel request using HTML and JavaScript to update the progress information on a Web page.

Manuel Lemos
Picture of Richard Keizer
Name: Richard Keizer <contact>
Classes: 7 packages by
Country: The Netherlands The Netherlands
Age: 40
All time rank: 48314 in The Netherlands The Netherlands
Week rank: 394 Up11 in The Netherlands The Netherlands Up
Innovation award
Innovation award
Nominee: 5x

Winner: 1x

Details provided by the author  
Pure PHP uploader with progress bar!

BEWARE:
this is not for the faint hearted!
if you don't know anything about HTTP requests and/or configuring your php-instance then pls stop reading and get back to school.
This class is just a concept, it's usable, but certainly not production ready!

This is an implementation of a 100% PHP upload manager.
I've often broken my head to find a neat solution for this subject, and finally wrote one that's not too hard too manage and understand. The main goal was that it would be small.
I started work on the socket abstraction part when I found out that in the upcoming PHP 5.4 release there will be upload progress functionality included. (late but ok).
The latter is the reason I quit development of this little gem.
If anybody feels like having a version with abstracted sockets then pls contact me.

how to use this:
1. Put everything in a folder on your web server
2. Make sure the folder is writable and accessible with a browser.
3. Point your browser to this folder

You should be up and running!

pls. note that files are uploaded to the current folder!

I've tested this with:
- PHP 5.2.14 and Apache/2.2.14 (Unix)
- PHP 5.3.6 and Apache/2.2.20 (Unix)
- Firefox and Safari both on Mac OSX
- Firefox and IE7 both on Windows XP

considerations:
Now when I think about this I would like to make a new implementation more proxy-a-like: http-proxy with status monitoring, this way we can project status for any kind of http request, not just multipart form uploads.


  Files folder image Files  
File Role Description
Accessible without login Image file barbackground.jpg Data background for progressbar
Plain text file buffer.class.php Class storage for binary data
Plain text file httprequestparser.class.php Class very small multipart message parser
Accessible without login Plain text file index.php Example server example
Accessible without login Plain text file readme.txt Doc. read this first!
Accessible without login Image file throbber.gif Icon animated throbber
Plain text file uploadmanager.class.php Class the main class

 Version Control Unique User Downloads Download Rankings  
 0%Total:3,015All time:1,143
 This week:2This week:593Up
User Ratings User Comments (1)  
 All time
Utility:66%StarStarStarStar
Consistency:70%StarStarStarStar
Documentation:58%StarStarStar
Examples:70%StarStarStarStar
Tests:-
Videos:-
Overall:53%StarStarStar
Rank:1467
 
Don t work for me.
3 years ago (Fernando)
40%StarStarStar