Sukhwinder Singh wrote:
Stut, thank you very much for explaining things and trying to help.
That's no problem, it's what I'm here for (I knew there was a reason).
The applet *does* POST to PHP. However, it has the option to upload to
an FTP server.... "the choice of using HTTP, HTTPS or FTP connections
for your transfer" (from the website).
So it seems applet posts complete data to that php file handling script
(rather php engine),*as soon as upload button is clicked*, rather than
uploading first and then posting to php. That is the reason for name
phpxx.tmp of temporary file.
As that seems to be the case; there is no real benefit in using applet
(in case of http) other than that progress bar which is already
supported by php 5.2
It also seems that php engine only hands over control to php file after
the file is completely uploaded that is why my custom logging doesn't
start as soon as upload starts. It only starts when file is already
uploaded.
I think you need to read up on how an HTTP POST request works when it's
handled by PHP because some of what you've written there indicates that
you don't quite have it. When you hit the upload button the browser
makes a connection to the server and the PHP engine gets invoked to
handle the request.
The engine then reads the entire HTTP request, including the file data
that is being uploaded. That temporary file is created by the PHP engine
to temporarily store the incoming data. Only when the entire request has
been read does the PHP engine start running your PHP script.
The timeout is likely coming from Apache. It has a limits similar to PHP.
Tested on two servers. Both cases it seems to fail if it takes more than
30 seconds.
I get an error:
[08-Jun-2007 20:15:06] PHP Fatal error: Maximum execution time of 30
seconds exceeded in ....\handle_upload.php on line 2
That's the PHP timeout kicking in. There is another setting in php.ini
(I forget what it's called) that tells it how long it is allowed to wait
for the request to be read, but looking at that error I'm not convinced
that's what's causing that timeout. It's very difficult to tell without
seeing your script.
If you don't mind me asking, what are people uploading? 4gig is a lot
for a single file of any type except maybe DVD images. Is there no way
the user can upload several (read lots) smaller files instead of one
big one?
It is not people that are uploading things. It is admin, and admin is
local to server. I won't want to try uploading 4 GB over internet. And
yes these are dvd files. They are going to be uploaded for streaming.
But along with uploading of files som other fields also have to be
uploaded. Client is showing examples like
http://www.attachmore.com/Whysubscribe.aspx which claim unlimited upload
size. I assume they are using custom activex controls.
If you look at the screenshots on that site you will see that they
install something on your machine that provides the upload capability.
Look specifically at the screenshot that shows the user right-clicking
on a file in Windows and selecting to upload it. That's not a
"web-based" solution, and if your client is pointing to it as such then
they don't really know what they've talking about (like most clients in
my experience).
Looks like I have to post that php's upload limit of 1.99 gb to php
internal mailing list.
Definitely worth doing, but don't be surprised if you get the same reaction.
-Stut
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php