Nasıl PHP ile dosyayı diske yazmadan REST sunucuya dosya gönderebilir miyim?

2 Cevap php

Ben bir iç API için POST yönteminin bir parçası olarak bir sunucuya bir XML dosyası göndermeye çalışıyorum.

$ PostVars ['dosya'] = kullanarak tüm PHP belgelerine noktaları '@ / yol / / file.xml' aslında dosya göndermek için.

Ben bir dize dosya göndermek istiyorum, ama yine de bir dosya yükleme değil, bir dize olarak gönderilmesi gerekiyor.

Yardım?

2 Cevap

Bence yapmak istediğiniz ne fırsatlar bu konuya bir göz atın: http://www.webmasterworld.com/php/3164561.htm

Son giriş (bana göre biçimlendirilmiş) yardımcı olabilir:

function do_post_request($url, $data, $optional_headers = null) { 
  $params = array('http' => array( 
    'method' => 'post', 
    'content' => $data 
  )); 

  if ($optional_headers!== null) 
    $params['http']['header'] = $optional_headers; 

  $ctx = stream_context_create($params); 
  $fp = @fopen($url, 'rb', false, $ctx); 
  if (!$fp)
    throw new Exception("Problem with $url, $php_errormsg"); 

  $response = @stream_get_contents($fp); 
  if ($response === false) 
    throw new Exception("Problem reading data from $url, $php_errormsg"); 

  return $response; 
}

Temelde çözüm URL'ler için işleme yerleşik php akımın kullanımını sağlamaktır.