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

如何在php中通过web服务发送/获取文件,php,web-services,file,Php,Web Services,File,这可能吗? 发送文件的正确方式是什么 谢谢如果您希望Web服务上载/下载文件,我不知道。无论如何,您可以使用curl()从其他Web服务器上载/下载文件 要从用户那里获取一些上传到Web服务的文件,这与从表单获取文件几乎相同,请使用超全局变量:$\u FILES()获取上传文件 用于从php上载到Web服务 $fullflepath = 'C:\temp\test.jpg'; $upload_url = 'http://www.example.com/uploadtarget.php'; $pa

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


谢谢

如果您希望Web服务上载/下载文件,我不知道。无论如何,您可以使用curl()从其他Web服务器上载/下载文件

要从用户那里获取一些上传到Web服务的文件,这与从表单获取文件几乎相同,请使用超全局变量:$\u FILES()获取上传文件

用于从php上载到Web服务

$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);
使用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");
    }
}

PS:由于某些原因,stackoverflow不喜欢链接
$\u文件
。。。因此,我链接了superglobals页面,您可以调试php服务的响应,并使用此应用程序检查从iphone上传的文件-
调试服务器端代码非常有帮助。

您使用这个基于nusoap的php程序:

您好,这里是一个示例



它可以是用于ios和android的php快速图像上传代码

您尝试了什么,出了什么问题?你认为它应该如何工作?您是否有任何代码或psuedo代码向我们展示?您是否知道使用SOAP、Webservices作为SOAP服务的解决方案?我认为您必须使用base64对文件进行编码,请参见
base64\u encode
函数
<?php



$path="aa/";// Set your path to image upload
if(!is_dir($path)){
mkdir($path);
}
$roomPhotoList = $_POST['image'];
$random_digit=date('Y_m_d_h_i_s');
$filename=$random_digit.'.jpg';
$decoded=base64_decode($roomPhotoList);
file_put_contents($path.$filename,$decoded);

?>