J'ai un problème pour transférer des fichiers en utilisant NuSOAP. Je comprends que vous pouvez lire un fichier et le transférer sous forme de chaîne, mais cela ne fonctionne pas. Voici un exemple:Transfert fichier us NuSOAP
Client:
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!!!!!";
}
Serveur:
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;
}
Voici la partie vraiment étrange. Si je retourne le nom du fichier ou la taille du fichier ou quelque chose comme ça, cela fonctionnera. Il ne retournera pas le fichier lui-même. Aidez-moi, s'il vous plaît.
J'ai modifié la question d'inclure un manque $ de valeur avant et; à partir de la fin de la ligne: $ filePath = value ['file_path'] – SteB