Ben söyledim CURLOPT_RETURNTRANSFER aracılığıyla bir dizeye çıktı göndermek için söyledim zaman olduğu gibi PHP cURL CURLOPT_FILE aracılığıyla bir dosyaya çıktı farklı veri döndüren fark etmişsinizdir.
_RETURNTRANSFER standart HTML kodu olarak göstermek için bunu ayrıştırma gibi satırsonlarını ve ekstra beyaz boşluk şerit görünüyor. _FILE diğer taraftan amaçlandığı tam olarak dosya korur.
Ben php.net üzerinde belgelerine okudum ama benim sorunu çözmek gibi görünüyor şey bulamadı. İdeal olarak, var ben bir ara dosya ortadan böylece _RETURNTRANSFER tam içeriğini dönmek, ama bu mümkün hale herhangi bir şekilde görmüyorum istiyorum.
İşte ben kullanıyorum kodudur. Söz konusu veriler \ r \ n satır sonları ile bir CSV dosyası.
function update_roster() {
  $url         = "http://example.com/";  
  $userID      = "xx";  
  $apikey      = "xxx";  
  $passfields  = "userID=$userID&apikey=$apikey";
  $file = fopen("roster.csv","w+");
  $ch = curl_init();  
  curl_setopt($ch, CURLOPT_POST, 1);  
  curl_setopt($ch, CURLOPT_URL,$url);  
  curl_setopt($ch, CURLOPT_POSTFIELDS, $passfields);  
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_FILE, $file);
  $variable_in_question = curl_exec  ($ch);  
  curl_close ($ch);
  fclose($file);
  return $variable_in_question;
  }
Çıkıyor, hata iade ediliyordu ne değil, ama bir şekilde bunu ayrıştırma hakkında gidiyordu. \ R \ n tek tırnak koyduğunuzda benim sorunum çözüldü çift tırnak geçiş, beklenen şekilde değil ayrıştırılır. Ben bunun gibi bir fonksiyon çağrıları içinde bir fark yarattı farkında değildi.
Bu sadece iyi çalışır: $cresult = split("\r\n", $cresult);
Bu etmez: $cresult = split('\r\n', $cresult);