gpt4 book ai didi

php - 向我们传输文件 NuSOAP

转载 作者:行者123 更新时间:2023-12-04 19:26:44 26 4
gpt4 key购买 nike

我在使用 NuSOAP 传输文件时遇到问题。我知道您可以读取文件并将其作为字符串传输,但它不起作用。这是一个例子:

客户:

require('libraries/nusoap/nusoap.php');
$url = "http://www.example.com";

$client = new nusoap_client($url);
args = array('file_name' => 'myfile.zip');
$return = $client->call('getFile', array($args));

if(empty($return){
echo "WHY IN THE WORLD IS THIS EMPTY!!!!!";
}

服务器:

require('libraries/nusoap/nusoap.php');
$server = new nusoap_server;

$server->configureWSDL('server', 'urn:server');

$server->wsdl->schemaTargetNamespace = 'urn:server';

$server->register('getFile',
array('value' => 'xsd:string'),
array('return' => 'xsd:string'),
'urn:server',
'urn:server#getFile');

function getFile($value){

$returnData= "";
$filePath=$value['file_path'];
$mode="r";

if (floatval(phpversion()) >= 4.3) {
$returnData= file_get_contents($filePath);
} else {
if (!file_exists($filePath)){
return -3;
}

$handler = fopen($filePath, $mode);
if (!$handler){
return -2;
}

$returnData= "";
while(!feof($handler)){
$returnData.= fread($handler, filesize($filePath));
}//end while

fclose($handler);
}//end else

return $returnData;
}

这是真正奇怪的部分。如果我返回文件名或文件大小或类似的东西,它就会起作用。它不会返回文件本身。请帮忙。

最佳答案

在服务器端的 getFile 函数中,您应该return base64_encode($returnData);

关于php - 向我们传输文件 NuSOAP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3001153/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com