假设server端上传文件处理脚本upload.php:
\'@\'.$file; // 前面加@符表示上传图片
$ch =curl_init();
curl_setopt($ch,CURLOPT_URL,\'http://localhost/upload.php\');
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$content = curl_exec($ch);
echo $content;
2、另类的做法,有时我们需要将动态产生的内容当做文件上传到远程服务器,却又不想在本地服务器中构建临时文件。这样就有了这个另类的写法
$contents =<<< \'TEXT\'
这里是文件内容,也可以是图片二进制,图片需要修改上传文件类型
TEXT;
$varname = \'my\';//上传到$_FILES数组中的 key
$name = \'3.txt\';//文件名
$type = \'text/plain\';//文件类型
$key = \"$varname\\\"; filename=\\\"$name\\r\\nContent-Type: $type\\r\\n\";
$fields[$key] = $contents;
$ch =curl_init();
curl_setopt($ch,CURLOPT_URL,\'http://localhost/upload.php\');
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$content = curl_exec($ch);
echo $content;