我使用curl在服务器上上传文件如下:
curl -X POST -F "file=@$1" -F 'utk=...' -F 'k=...' http://localhost:8888/LinkToWebservice
在服务器上,为了调试我是否正确$ _REQUEST,我将其记录在一个文件中:
//- logging $req_dump = print_r($_REQUEST, TRUE); $fp = fopen('/var/tmp/myserver.log', 'a'); fwrite($fp, $req_dump); fclose($fp); //- checking if (!isset($_REQUEST['k'])) { $this->output_result(array( 'error_message' => 'Invalid API key', ), 400); }
结果太奇怪了。 " curl"命令适用于file1,但不适用于file2。
我得到的日志文件是:
file1::缺少utk和k参数
array ( [querystring] => LinkToWebService )
file2:所有参数均可用。
array ( [querystring] => LinkToWebService [utk] => ... (available) [k] => .... (available) )
更新 :另一个奇怪的事情是file1无法按上述方式上传。但是,如果我将file1重命名为" file2",则可以将其上传。和$ _REQUEST包含所有字段。
我对"缓存"?
有任何疑问