如何通过php中的web服务发送/获取文件

Hai*_*vgi 7 php web-services file

这可能吗 ?发送文件的正确方法是什么?

谢谢

Rag*_*geZ 13

如果您希望您的webservice上传/下载文件,我不会.无论如何,您可以使用curl(http://fr.php.net/curl)从其他网络服务器上传/下载文件.

要将一些文件从用户上传到webservice,它几乎与从表单中获取文件一样,请使用超全局变量:$ _ FILES(doc)来获取上传文件.

从php上传到webservice

$fullflepath = 'C:\temp\test.jpg';
$upload_url = 'http://www.example.com/uploadtarget.php';
$params = array(
 'photo'=>"@$fullfilepath",
 'title'=>$title
);  

$ch = curl_init();
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_URL, $upload_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
$response = curl_exec($ch);
curl_close($ch);
Run Code Online (Sandbox Code Playgroud)

获取文件的web服务

$uploads_dir = '/uploads';
foreach ($_FILES["photo"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["photo"]["tmp_name"][$key];
        $name = $_FILES["photo"]["name"][$key];
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
    }
}
Run Code Online (Sandbox Code Playgroud)

PS:抱歉由于某种原因stackoverflow不喜欢建立链接$_FILES...所以我已经链接了superglobals页面而不是