PHP卷曲文件上传

PHP卷曲文件上传,php,curl,file-upload,Php,Curl,File Upload,早上好 我正在使用一个基因相似性在线工具,我需要用php模拟用户的选择。在线表单中有各种选择框、文本区域(UserData)和按钮类型文件 因此,我捕获了发送在线表单的post数据,它是这样的: POSTDATA =-----------------------------114782935826962 Content-Disposition: form-data; name="SMeasure" 3 -----------------------------114782935826962 C

早上好

我正在使用一个基因相似性在线工具,我需要用php模拟用户的选择。在线表单中有各种选择框、文本区域(UserData)和按钮类型文件

因此,我捕获了发送在线表单的post数据,它是这样的:

POSTDATA =-----------------------------114782935826962
Content-Disposition: form-data; name="SMeasure"

3
-----------------------------114782935826962
Content-Disposition: form-data; name="SOntology"

2
-----------------------------114782935826962
Content-Disposition: form-data; name="SFamily"

2
-----------------------------114782935826962
Content-Disposition: form-data; name="IncludeIEA"

1
-----------------------------114782935826962
Content-Disposition: form-data; name="SApproach"

2
-----------------------------114782935826962
Content-Disposition: form-data; name="Identifier"

1
-----------------------------114782935826962
Content-Disposition: form-data; name="UserData"


-----------------------------114782935826962
Content-Disposition: form-data; name="InputFile"; filename="CHI2-GR.txt"
Content-Type: text/plain

Q15942 Q15942
Q15942 P27918
Q15942 P01034
Q15942 P01040
Q15942 P04053
Q15942 P00746
Q15942 P20138
Q15942 P10620
Q15942 P15923
Q15942 Q06481
P27918 Q15942
P27918 P27918
P27918 P01034
P27918 P01040
P27918 P04053
P27918 P00746
P27918 P20138
P27918 P10620
P27918 P15923
P27918 Q06481
P01034 Q15942
P01034 P27918
P01034 P01034
P01034 P01040
P01034 P04053
P01034 P00746
P01034 P20138
P01034 P10620
P01034 P15923
P01034 Q06481
P01040 Q15942
P01040 P27918
P01040 P01034
P01040 P01040
P01040 P04053
P01040 P00746
P01040 P20138
P01040 P10620
P01040 P15923
P01040 Q06481
P04053 Q15942
P04053 P27918
P04053 P01034
P04053 P01040
P04053 P04053
P04053 P00746
P04053 P20138
P04053 P10620
P04053 P15923
P04053 Q06481
P00746 Q15942
P00746 P27918
P00746 P01034
P00746 P01040
P00746 P04053
P00746 P00746
P00746 P20138
P00746 P10620
P00746 P15923
P00746 Q06481
P20138 Q15942
P20138 P27918
P20138 P01034
P20138 P01040
P20138 P04053
P20138 P00746
P20138 P20138
P20138 P10620
P20138 P15923
P20138 Q06481
P10620 Q15942
P10620 P27918
P10620 P01034
P10620 P01040
P10620 P04053
P10620 P00746
P10620 P20138
P10620 P10620
P10620 P15923
P10620 Q06481
P15923 Q15942
P15923 P27918
P15923 P01034
P15923 P01040
P15923 P04053
P15923 P00746
P15923 P20138
P15923 P10620
P15923 P15923
P15923 Q06481
Q06481 Q15942
Q06481 P27918
Q06481 P01034
Q06481 P01040
Q06481 P04053
Q06481 P00746
Q06481 P20138
Q06481 P10620
Q06481 P15923
Q06481 Q06481
-----------------------------114782935826962
Content-Disposition: form-data; name="Submit"

Submit
-----------------------------114782935826962--
我的php代码如下所示:

<?php 

$url = 'http://web.cbio.uct.ac.za/ITGOM/tools/itgomEngine.php';     

$postData = array();
$postData['SMeasure'] = '3';
$postData['SOntology'] = '2';
$postData['SFamily'] = '2';
$postData['IncludeIEA'] = '1';
$postData['SApproach'] = '2';
$postData['Identifier'] = '1';
$postData['UserData'] = "";
$postData['InputFile'] = '@C:/Users/Matteo/Desktop/prova_uniprot/CHI2-GR.txt';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_POST, true );
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);

$response = curl_exec($ch);

echo $response;

?>
我得到错误“输入中没有基因列表”。有什么想法吗


谢谢

这方面有什么更新吗?我刚刚用一个备用文件测试了您的原始代码:

$postData['InputFile']='@C:/Users/./test.txt'


而且工作正常。

谢谢您的回复。我尝试过:$postData['InputFile']='@C:\Users\Matteo\Desktop\test.txt',但我总是遇到同样的错误。我的代码正在EasyPHP上运行,php.ini上是否有任何特殊设置?当你运行我的代码时,你会得到一个相似性表,或者仅仅是一个表单?我(从在线工具响应)会得到一个错误“对于基因列表文件,只建议使用txt格式!”。这很奇怪,因为输入文件显然是一个txt文件。您的PHP版本是什么?我使用的是支持高达PHP5.4的EasyHP 14.1 VC9。我曾尝试使用支持高达PHP5.6的EasyHP 14.1 VC11,CURLFile对象,但我总是遇到同样的错误。有什么想法吗?你从哪里得到这个错误?我(从在线工具响应)得到错误“对于基因列表文件,只推荐txt格式!”。这很奇怪,因为输入文件显然是一个txt文件!
$postData['InputFile'] = '@C:/Users/Matteo/Desktop/prova_uniprot/CHI2-GR.txt;type=text/plain';