Upload file with php to another php server

后端 未结 3 1510
自闭症患者
自闭症患者 2020-12-07 15:48

I\'m not asking about uploading a file from a browser to a php script, there\'s plenty of tutorials about that already. I\'m asking about this:

I have a php script t

相关标签:
3条回答
  • 2020-12-07 16:29

    You need two Scripts.

    First script that will in way emulate browser behavior, it will take a file and send it to seconds script, that will handles it just like regular file upload script.

    My guess you have to use "http_post_fields" for the first script, it seems to handle files. http://us2.php.net/manual/en/function.http-post-fields.php

    Good Luck.

    0 讨论(0)
  • 2020-12-07 16:36

    You could use SOAP to send the file from one server to the other.

    Receiving server:

    <?php
    $server = new Soap_Server( null, array('uri'=>'somerui') );
    $server->addFunction( 'receiveFile' );
    function receiveFile( $file ) {
       file_put_contents( 'somepath', base64_decode( $file ) );
    }
    ?>
    

    Sending server:

    <?php
    $client = new Soap_Client( null, array('uri'=>'somerui') );
    $client->receiveFile( base64_encode( file_get_contents( 'somepath' ) );
    ?>
    
    0 讨论(0)
  • 2020-12-07 16:37

    You can use CURL for this. Something like this should do it.

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, array('file' => '@/path/to/file.txt'));
    curl_setopt($ch, CURLOPT_URL, 'http://server2/upload.php');
    curl_exec($ch);
    curl_close($ch);
    

    You can then handle the the server2 part as a regular file upload. See curl_setopt() for more information on those options.

    0 讨论(0)
提交回复
热议问题