1. Use the default method of CURL
$file = realpath('gif/1.gif'); //要上传的文件 $fields['f'] = '@'.$file; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,"http://localhost/ajax_server.php?id=1"); curl_setopt($ch, CURLOPT_POST, 1 ); curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); curl_exec ($ch); curl_close ($ch);
2. An alternative approach. Sometimes we need to upload dynamically generated content as files to the remote server, but we don’t want to build it in the local server. Temporary Files. In this way, there is this alternative way of writing
$contents =<<< 'TEXT' 数据报中应该是 Content-Disposition: form-data; name="userfile"; filename="file_name" Content-Type: 文档类型 文件内容 这样的格式,我只实现了文件名部分,文档类型不知道如何实现。 这样上传后就取不到 type 的值 curl_upload_server.php <xmp> <?php print_r($_FILES); echo "文件内容:\n"; $p = current($_FILES); readfile($p['tmp_name']); TEXT; $fields['f"; filename="x.x'] = $contents; //这个关联键的写法很怪异吧? $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,"http://localhost/curl_upload_server.php"); curl_setopt($ch, CURLOPT_POST, 1 ); curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $s = curl_exec ($ch); curl_close ($ch); echo $s;
$contents =<<< 'TEXT' 上传文件在数据报中应该是 Content-Disposition: form-data; name="userfile"; filename="file_name" Content-Type: 文档类型 文件内容 这样的格式 以下是服务器端代码 curl_upload_server.php <xmp> <?php print_r($_FILES); //检查上传信息 echo "文件内容:\n"; $p = current($_FILES); readfile($p['tmp_name']); //输出上传的文件 TEXT; $varname = 'my'; $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/curl_upload_server.php"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST" ); curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $s = curl_exec ($ch); curl_close ($ch); echo $s;
This article explains how to upload files through CURL in php. Please pay attention to the php Chinese website for related content.
Related recommendations:
Two tree array constructors without recursion
Convert HTML to Excel, and realize printing and downloading functions
The above is the detailed content of Upload files via CURL in php. For more information, please follow other related articles on the PHP Chinese website!