in reply to Re: File Upload - What Next?
in thread File Upload - What Next?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
File Upload - Complete Code
by Thathom (Acolyte) on Jul 06, 2001 at 12:59 UTC | |
and heres the script......... Thankyou everyone!, I hope that helps alot of other people too! | [reply] [d/l] [select] |
by arturo (Vicar) on Jul 06, 2001 at 15:29 UTC | |
Your suspicion, mentioned in the CB, was that the file's size was causing the problem. That's pretty likely, because you'll notice that CGI::POST_MAX is set to a pretty low number (that value is in *bytes*, by the way ... so as things stand, you'll only allow 48K total in all POSTed data.) Other non-miscellany : rewrite this script to work under use strict, you'll thank yourself for it later. There are also some modules that can help you make this script more portable; your "filename parsing" routine in fact only handles Win32-style delimiters => \ , but the standard (i.e. already installed) module File::Basename has robust routines that will handle the delimiters used on most operating systems. You'll need to check the $ENV{USER_AGENT} string to make an educated guess about the operating system the client is using. I do believe KM <-- follow that, by the way ... it's my way of indirectly plugging his book -- has a different strategy for dealing with handling uploads for multiple OSes, but I don't recall off the top of my head what it is. As far as controlling the error messages, the strategy I like to use is to define a subroutine (I call it bail usually) that will get called in place of die. That way, if something fails I can intercept the error message and give the user something prettier to look at than a 500 error page. If your script is dying *within* calls to functions that are built-in or imported from modules, the usual strategy is to wrap those calls in a block-style eval, and then to check the value of the special variable $@, which will be set to the value of any error thrown by something within the eval block. A toy example:
Do a super search on "Exception Handling" and read the eval manual page for more info. HTH
| [reply] [d/l] [select] |
by Anonymous Monk on Jun 20, 2002 at 08:37 UTC | |
| [reply] |