Just out of curiosity, before I get elbows-deep in this, has anyone does this already, before I start rewriting the wheel? Using PHP to POST a file and a few variables to another server's catcher script that is.
> > fputs($fp, "Content-Type: multipart/form-data; boundary=AaB03x\n"); > > fputs($fp, "--AaB03x\n"); > That looks quite reasonable Thanks Richard. Reasonable. I'll take that. It's better than "WHAT ARE YOU SMOKING YOU FREAKING MORON?" > EXCEPT: > > It's *POSSIBLE* that "Aa03x" will be *IN* the document... Well yes, the only reason I happened to use that particular sentinel was that I cut-n-pasted the header information. But you're right, a longer, more complex sentinel would help. > $myfile = file('/full/path/to/myFile.xml') or die("Could not open > myFile.xml"); > $myfile = implode('', $myfile); > $boundary = md5(uniqid('')); > # Hey, the odds are one in a zillion, but why not? > while (strstr($myfile, $boundary)){ > $boundary = md5(uniqid('')); > } Ok, had to look that one up :) uniqid is a new one on me. I've been naming files according to the session id to prevent overwrites. > And I think you need a different boundary for *EACH* part of > the multipart stuff... But maybe that's just me thinking > wrongly... If I understand HTTP 1.0, and I probably don't, you only need to use seperate identifiers if you're appending more than one file, then you need a new identifier to delineate the parts of the "FILES" section. <HTTP Headers> <boundary> <variables> <boundary> <file header> <boundary 2> <file 1> <boundary 2> <file 2> <boundary> Not 100% accurate because I just wrote that off the top of my head, but that's pretty much how I understand it. Anyone who knows better is free to slap me with a trout. > Other than that, I'm guessing that you *MIGHT* need to > somehow "escape" the contents of the data... I was thinking about that. I'm wondering if I can fake CRLF by sending the ASCII equivalents. > I dunno if browsers and web-servers expect that data to be > uuencoded, or base64 encoded Well, browsers don't matter, since this will all be entirely handled by the servers. But it's definitely something to consider while I'm dorking around. > But you're definitely on the right track, and you're down to > minutia at this point. Well, considering I didn't get pushed around by the big kids and have my lunch money taken, I'll assume that I'm not totally dum. I'm guessing what I should do now is write an upload script and try to simulate the pass and see how close I am. Still, I can't imagine I'm the first person trying to do a text file server-to-server POST. It'd be nice if I could find someone who's already done something like this. I've been Googling for it the last two days and have found several people on Usenet and the mailing lists asking about POSTing XML files to scripts, but nobody who said, "I did it, here's how it's done." Thanks again Richard. ~Steve-o -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php