That scheme is inefficient and fragile. Why bother to read the entire file and calculate a hash on it, when checking the file size is a whole lot faster and for an FTP upload, is just as good?
If my scheme of checking a hash is fragile then checking
file sizes is just as bad if not worse for the same
reasons you stated mine was bad.
As you say if the upload stalls for X+1 seconds then
you are going to end up colliding with the upload when
you act on what you assume is a finished file.
I personally like the bit banging method much better
but unfortuneatly that is UNIX-centric and is not portable
to say Win32 and friends.
As others have said there are no really clean and
portable ways of doing this and YMMV no matter what
method you use. Generating MD5 hashes worked for me
and in a batch environment are not that expensive.
|Peter L. Berghold -- Unix Professional|
Peter at Berghold dot Net
|| Dog trainer, dog agility exhibitor, brewer of
fine Belgian style ales. Happiness is a warm, tired, contented dog curled up at your side and
a good Belgian ale in your chalice.|
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||