php服务器之间传输文件

发送方

$url = "http://127.0.0.1/api/Up/serverup";  //接收方服务器地址与处理方法
$file = dirname(__FILE__).'/11010.mp3';//上传方服务器目录与文件名
$data=[
    'upload'=>new CURLFile($file),//php -v> 5.4
    'Y' => '2018',
    'M' => '09',//两位数(01/02..../11/12)
    'D' => '16',
    'filename' =>'',//如果为空,则上传到本服务器的名字为上传方服务器文件名,否则就是filename的文件名,注意:要带上文件后缀(.mp3/.wav....)
    //'filename' =>'天王盖地虎.mp3',
  ];
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
exit;

 

 

 

接收方

public function serverup()
{

  $dataall = $_REQUEST;
  $Y = $dataall['Y'];
  $M = $dataall['M'];
  $D = $dataall['D'];

  $dir = iconv("UTF-8", "GBK", "/var/$Y/$M/$D/");
    if (!file_exists($dir)){
    mkdir ($dir,0770,true);
  }

  if($_FILES){//接收方用$_FILES就可以接受到发送方发送的文件
    $name = $_FILES['upload']['name'];
      if(!empty( $dataall['filename'])){
        $name = $dataall['filename'];
      }
    $tmp_name = $_FILES['upload']['tmp_name'];
    $file = move_uploaded_file($tmp_name, $dir . $name);
    exec("mycmd -s chmod 660 {$dir}{$name}");
    $info= array(
      'result'=> 'success',
      'data' => "$name" ,
      'error' => '0:ok'
    );
    echo json_encode($info);
  }else{
    $info= array(
    'result'=> 'fail',
    'data' => 'no data' ,
    'error' => '1:no file'
  );
  echo json_encode($info);
  }
}

posted @ 2018-09-18 18:25  终究是乌云遮了天  阅读(1835)  评论(0编辑  收藏  举报