Jake Gardner wrote: > An intriguing method, but then it is the only answer I can think of > (when I see it above) to what you must admit is a rather odd question... what is it that you consider odd? I have a generated string containing XML and I want it to end up on a remote server as a file - it would be easy enough to write the string into a tmp file in order to transfer that but I thought it would be nice to not have to make the extra hit to the filesystem to get the job done. I think I have figured out how to get some useful error messages using the 'notification' streams context parameter (using it to set a callback that traps notifications including error messages); > nonetheless... if it is only the FILE writing that you care about > without using ftp functions, one (not the most efficient way, but who > gives a crap about a few seconds these days in a language like PHP?) use > the ftp functions to "test" everything up to the write (connect, login, > change directory, do everything right up to writing and then plug in > your lines) not only inefficient but wrong: it would possibly result in a duplicate connection (which the ftp server may not allow) and if you closed the first connection first then you still have no garantee that the second connection via the streams wrapper actually did it's job. anyway thanks for the feedback. > On 7/11/06, *Jochem Maas* <jochem@xxxxxxxxxxxxx > <mailto:jochem@xxxxxxxxxxxxx>> wrote: > > Jochem Maas wrote: > > hi everyone, > > > > I was wondering if anyone knew how (if possible) I could take a string > > and ftp_put()/ftp_fput() that string directly onto the remote > server as a file > > (without first saving the string to disk temporarily locally) > > > > I imagine that there is a way to create a stream that refers to > the string > > in question but I can't get my head round the streams functionality... > > > > Obviously saving the string temporarily to disk locally is an easy > option > > but I was kind of using the situation I have now to try and do > something a > > little fancy and learn something about streams. > > > > anyone with idea/pointers? > > I stumbled accross the following page while RTFMing: > > http://php.net/manual/en/wrappers.ftp.php > > very nice, it enabled me the come up wth the following to lines > (nice and compact!): > > $context = stream_context_create(array('ftp' => > array('overwrite' => true))); > $retval = > file_put_contents("ftp://{$ftp_user}:{$ftp_pass}@{$ftp_server}:21/{$filename}", > $xml, LOCK_EX, $context); > > BUT this leaves me with the problem of determining what went wrong > if the file_put_contents() call > fails. did the connection fail? did the login fail? did the > write/upload fail (and why)? > > using the std. ftp functions it's [obviously] alot easier to > determine at which point the failure > occured. can anyone confirm I'm on the right track by trying to set > 'notification' [stream]context > parameter? > > > > > TIA, > > Jochem. > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php