我正在尝试使用终端中的其他参数上传文件,我使用-F
参数来组合我需要的所有参数,这是我得到的:
curl -H "Content-Type:multipart/form-data" -F "video=@174deab3-a7c6-4410-a304-d7ee49b28900.mp4" -F "videoExt=mp4" -F "videoSize=10230" -F "thumbExt=png" -F "thumb=IufIsduSii823" -F "id=8" http://test.dev/test.php
问题在于处理方(test.php) $ _ FILES 数组为空。
然后我尝试制作一个简单的html表单,将一个文件发布到处理程序,然后我尝试使用php_curl
发出curl请求。这是代码:
$postargs = [
'videoExt' => 'mp4',
'id' => 8,
'thumb' => 'IkJdfjiaskdkI*82',
'thumbExt' => 'png',
'videoSize' => '10240'
];
foreach ($_FILES as $param => $file) {
$postargs[$param] = '@' . $file['tmp_name'] . ';filename=' . $file['name'] . ';type=' . $file['type'];
}
$header = array("Content-type: multipart/form-data");
$ch = curl_init('http://localhost:8080');
curl_setopt($ch,CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch,CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch,CURLOPT_ENCODING,"");
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch,CURLOPT_POST,TRUE);
curl_setopt($ch,CURLOPT_POSTFIELDS,$postargs);
curl_exec($ch);
curl_close($ch);
此脚本成功向处理程序发出curl请求,并上传文件。请告知有什么区别,如何在终端实现这一点。
答案 0 :(得分:0)
对我来说,请尝试使用div {
margin:0 0 20px;
background:green
}
div:after {
content:'';
display:block;
clear:both;
}
div.first {
float:left;
margin:0;
}
div.second {
float:right;
margin:0;
}
选项,例如:
-i
-i, - include在输出中包含协议头(H / F)