Ich versuche, die Antwort & die Response-Header von CURL mit PHP zu bekommen, die speziell für Content-Disposition: attachment; so kann ich den innerhalb der Kopfzeile übergebenen Dateinamen zurückgeben. Dies scheint nicht in curl_getinfo zurückgegeben zu werden.Return-Header als Array Locken mit
Ich habe versucht, die HeaderFunction mit einer Funktion aufrufe, um die zusätzlichen Header zu lesen, aber ich bin nicht in der Lage, den Inhalt zu einem Array hinzuzufügen.
Hat jemand irgendwelche Ideen bitte?
Unten Teil meiner Code, der eine Curl-Wrapper-Klasse ist:
...
curl_setopt($this->_ch, CURLOPT_URL, $this->_url);
curl_setopt($this->_ch, CURLOPT_HEADER, false);
curl_setopt($this->_ch, CURLOPT_POST, 1);
curl_setopt($this->_ch, CURLOPT_POSTFIELDS, $this->_postData);
curl_setopt($this->_ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($this->_ch, CURLOPT_USERAGENT, $this->_userAgent);
curl_setopt($this->_ch, CURLOPT_HEADERFUNCTION, 'readHeader');
$this->_response = curl_exec($this->_ch);
$info = curl_getinfo($this->_ch);
...
function readHeader($ch, $header)
{
array_push($this->_headers, $header);
}
Ich sollte hinzufügen, dass readHeader-Funktion Teil der Curl Wrapper-Klasse ist. Die Verwendung von '$ this-> readHeader' funktioniert nicht. – StuffandBlah
Laut den Dokumenten muss Ihre 'readHeader' -Funktion die Anzahl der geschriebenen Bytes zurückgeben. Das Hinzufügen von 'return strlen ($ header)' sollte das funktionieren lassen – marcfrodi