Hello,

on 01/05/2008 02:18 AM John Gunther said the following:
> I can't figure out how to pass a c:\... filepath via curl for an RFC1867
>  multipart form upload in PHP 5.2.1.
> 
> I'm using the following code to perform a programmatic file upload to
> the PHP server:
> 
> $filepath='/home/user/testfile.txt';
> $ch=curl_init('http://bucksvsbytes.com/upload.php');
> curl_setopt($ch,CURLOPT_POST,true);
> curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
> curl_setopt($ch,CURLOPT_POSTFIELDS,array('peru'=>'@'.$filepath));
> curl_exec($ch);
> curl_close($ch);
> 
> Works great if the file I want to upload is on the web server but it
> never is. The files I want are on the client computer, of course, e.g.
> c:\home\user\testfile.txt
> 
> I've tried passing every variation of that path I can think of, e.g.:
> 
> C:\home\user\testfile.txt
> C:\\home\\user\\testfile.txt
> C:/home/user/testfile.txt
> urlencode(...)
> utf8_encode(...)
> 
> and nothing works. I either get the dreaded "failed creating formpost
> data" or the filepath shows up in $_POST and $_FILES is empty. The
> listed formats don't work with fopen() either.
> 
> I've searched dozens of web examples but I can't get it. Help!
> 
> For that matter, is there a better approach than curl for programmed
> uploads of client computer files to the PHP server?

When I use Curl I prefer composing a RAW HTTP request because I am sure
it will work as intended. Whenever possible I prefer using fsockopen
connections. In any case I use this HTTP client request class that wraps
everything and supports form submission with file upload as you need:

http://www.phpclasses.org/httpclient


-- 

Regards,
Manuel Lemos

Metastorage - Data object relational mapping layer generator
http://www.metastorage.net/

PHP Classes - Free ready to use OOP components written in PHP
http://www.phpclasses.org/

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to