0

PHP と SOAP を使用して、クライアントとサーバーの間で txt ファイルを転送しようとしています。
txt ファイルをサーバー フローダーに転送できません。しかし、私はエラーを受け取りません。

私のコードは: Service.php

class Service 
{
    public function addFile($params) 
    {
        $uploads_dir = '/uploads';

        foreach ( $_FILES ["txt"] ["error"] as $key => $error ) {

            print_r($error);

            if ($error == UPLOAD_ERR_OK) {
                $tmp_name = $_FILES ["txt"] ["tmp_name"] [$key];
                $name = $_FILES ["txt"] ["name"] [$key];
                move_uploaded_file ( $tmp_name, "$uploads_dir/$name" );
            }
        }
    }
}

$server = new SoapServer ( 'Service.wsdl', array ('soap_version' => SOAP_1_2 ) );
$server->setClass ( 'Service' );
$server->handle ();

client.php

ini_set('soap.wsdl_cache_enabled', "0");

$soap = new SoapClient('http://xxx.xxx.xxx.xxx/Service.php');

$fullfilepath = 'D:\test.txt';
$B64File = base64_encode($fullfilepath);
$upload_url = 'http://xxx.xxx.xxx.xxx/Service.php';
$title = '';
$params = array(
        'photo'=>array('array' => $B64File),
        '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, http_build_query($params));
$response = curl_exec($ch);
curl_close($ch);
$soap->addFile($params);

どんな助けでも大歓迎です、ありがとう!

4

1 に答える 1

0

すべてのエラーを探していますか? エラーログファイルを確認しましたか?

たとえば、上記のコードでは、curl_exec の戻り値をチェックしていないことがわかります。エラーを明示的にログに記録していない場合、どのようなエラーが表示されると予想されますか?

于 2013-01-18T04:53:41.947 に答える