Ben bir dinamik. Csv dosyasının içeriğini ayrıştırmak istiyorum. Ancak, (tabii ki duff dosya adları, vb) bu kodu:
$socket = fsockopen("www.example.com", 443);
fwrite($socket, "GET /dynamicCsv.csv?param=value HTTP/1.1\r\n");
fwrite($socket, "Host: www.example.com\r\n");
fwrite($socket, "Connection: close\r\n");
fwrite($socket, "\r\n");
while(!feof($socket)) echo fgets($socket);
Sadece ... dosyasını indirir.
Openssl kullanarak komut satırında ben aynı isteği yazıp geri gönderdi şu yanıt başlığını alabilirsiniz:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-disposition: attachment; filename=dynamicCsv.csv
Pragma: public
Cache-Control: max-age=0
Set-Cookie: SESSIONID=ASDFUHN023UIN0F; Path=/; Secure
Content-Type: text/csv;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 04 Feb 2010 16:53:00 GMT
Dosya indirme işlemi otomatik olarak belki tarayıcı başlıklarında bir dizi olarak fgets
tarafından tepki çıkışını gördüğü umuduyla, substr
kullanarak ilk karakteri kesmek için çalıştık zorunda kalmamak için geçerli belge. Bu işe yaramadı. Ben de ya da işe yaramadı soketi, açmadan önce satırsonlarının bir demet eklemek için çalıştı aynı fikri takip.
Benim iki soru vardır:
- Neden yeryüzünde tarayıcı o dosyayı yüklemeniz gerekir düşünüyor?
- Ben bunu nasıl durdurabilirim?
Ben sadece şimdiye kadar Chrome'u kullanmış bahsetmeliyiz, ama bir fark neden görmüyorum.
Many thanks, Andreas