使用curl上传文件。Php
我在我的项目中使用curl。libcurl的版本是7.18.2。这是一个无法工作的bug文件类型,更多-。对于文件上载,我使用以下代码:使用curl上传文件。Php,php,file-upload,curl,file-type,Php,File Upload,Curl,File Type,我在我的项目中使用curl。libcurl的版本是7.18.2。这是一个无法工作的bug文件类型,更多-。对于文件上载,我使用以下代码: if ( !empty($_POST) ){ $post = $_POST; } if ( !empty($_FILES) ){ foreach ($_FILES as $param => $file) { if ( $file['tmp_name'] ) $files[$param]
if ( !empty($_POST) ){
$post = $_POST;
}
if ( !empty($_FILES) ){
foreach ($_FILES as $param => $file) {
if ( $file['tmp_name'] )
$files[$param] = '@' . $file['tmp_name'] . ';filename=' . $file['name'] . ';type=' . $file['type'];
}
}
$post = !empty($files) ? array_merge($post, $files) : $post;
// ...
if ( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, $link);
curl_setopt($curl, CURLOPT_USERAGENT, $browser);
curl_setopt($curl, CURLOPT_REFERER, $reffer);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_COOKIE, $cookie);
if ( !empty($post) ) {
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
}
$content = curl_exec($curl);
curl_close ($curl);
}
请告诉我,如何在服务器上发送文件类型?无法升级libcurl。
非常感谢。谢谢。我想了想。本期: 卷曲部分: 服务器部件:
你不能用另一个post字段作为文件类型吗?你是什么意思$_POST['file_type']?是的,您可以通过不带类型的curl发送文件,并在另一个POST字段中发送类型。然后将服务器上的脚本更改为从$\u文件中获取文件,并从$\u POST中键入。
if ( !empty($_FILES) ){
foreach ($_FILES as $param => $file) {
if ( $file['tmp_name'] ){
$post[$param]='@' . $file['tmp_name'];
$post['_ftype']=$file['type'];
$post['_ffilename']=$file['name'];
$post['_ffileuploadname']=$param;
}
}
}
if ( !empty($_FILES) && isset($_POST['_ffileuploadname']) ){
$name=$_POST['_ffileuploadname'];
$_FILES[$name]['type']=$_POST['_ftype'];
$_FILES[$name]['name']=$_POST['_ffilename'];
}