php文件上传“file_get_contents”到服务器

时间:2011-10-08 19:59:47

标签: php http post

是否可以像下面这样以相同的方式将文件发送到服务器:

$file = 'myfile.txt';

or

$file = file_get_contents(./myfile.txt);

...

$postdata = http_build_query( array( 
'var1' => 'some content',
'var2' => $file 
) );

$opts = array('http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $postdata ) );

$context = stream_context_create($opts);

$result = file_get_contents('http://example.com/submit.php', false, $context);

由于

2 个答案:

答案 0 :(得分:3)

为什么不使用cURL代替流?这很简单:

$ch = curl_init('http://www.url.com');

curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
    'file_input' => '@/path/to/file',
));

curl_exec($ch);

答案 1 :(得分:1)

是的,但这是一个繁琐的过程。如果您想使用cURL或使用普通$_FILE方法发布内容。