Hallo!
Ich hab ein etwas seltsames Problem. Ich steuere mit curl einen Webservice an, der mir Dateien von einem Server läd. Das funktioniert auch soweit prima, bis auf eine Kleinigkeit: Im IE (egal welche Version) werden Dateien im .zip-Format nicht korrekt gespeichert. Die Files die ankommen enthalten nur Müll. Im Firefox funktioniert das einwandfrei. Wie gesagt, das gilt auch nur für .zip Dateien. Alle anderen Formate funktionieren (PDF, Word, etc.). Hat jemand eine Idee, was das sein könnte? Meine PHP-Umgebung: PHP 5.2.6 auf einem IIS. Hier ist der Code, den ich benutze um den Download anzustoßen:
Irgend eine Idee?
Vielen Dank,
Gruß,
Bernd
Ich hab ein etwas seltsames Problem. Ich steuere mit curl einen Webservice an, der mir Dateien von einem Server läd. Das funktioniert auch soweit prima, bis auf eine Kleinigkeit: Im IE (egal welche Version) werden Dateien im .zip-Format nicht korrekt gespeichert. Die Files die ankommen enthalten nur Müll. Im Firefox funktioniert das einwandfrei. Wie gesagt, das gilt auch nur für .zip Dateien. Alle anderen Formate funktionieren (PDF, Word, etc.). Hat jemand eine Idee, was das sein könnte? Meine PHP-Umgebung: PHP 5.2.6 auf einem IIS. Hier ist der Code, den ich benutze um den Download anzustoßen:
PHP-Code:
// Set-up Query URL
// -------------------------------------------------------------
$url = 'http://Path/to/webservice';
// Init the cURL Session
// -------------------------------------------------------------
$session = curl_init();
curl_setopt($session, CURLOPT_URL, $url);
curl_setopt($session, CURLOPT_FAILONERROR, 1);
curl_setopt($session, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($session, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($session, CURLOPT_TIMEOUT, 60);
curl_setopt($session, CURLOPT_USERPWD, "user:password");
// Execute cURL Session
// -------------------------------------------------------------
$result = curl_exec($session);
if(curl_errno($session) != 0){
echo '<pre>';
print_r(curl_getinfo($session));
echo "\n\ncURL error number:" . curl_errno($session);
echo "\n\ncURL error:" . curl_error($session);
echo '</pre>';
} else {
header('Content-Type:' . strtolower($_GET['dFormat']));
header('Content-Disposition: attachment; filename="' . $_GET['dOriginalName'] . '"');
echo $result;
}
curl_close($session);
Vielen Dank,
Gruß,
Bernd
Kommentar