Reg. datum: 28 augustus 2006
Berichten: 211
Reg. datum: 28 augustus 2006
Reg. datum: 28 augustus 2006
vergeet je content-length niet
en zend maar 1 content type (application/octet-stream is preferabel idd )
SchizoDuckie wijzigde dit bericht 24-07-2008 10:51 (27%)
is content-length dan zo belangrijk? Het is een string die ik output, hoe weet je daar de length van?
Koffie?
Ja, Lekker
www.php.net/strlenquote:Catch22 schreef op donderdag 24 juli 2008 @ 10:50:
is content-length dan zo belangrijk? Het is een string die ik output, hoe weet je daar de length van?
SchizoDuckie wijzigde dit bericht 24-07-2008 10:51 (13%)
Ja dat snap ik, maar ik bedoelde dat je de content-length als bitsize aangeeft en niet als characterhoeveelheid. Dat loopt toch niet 1-op-1quote:SchizoDuckie schreef op donderdag 24 juli 2008 @ 10:51:
[...]
www.php.net/strlenEn ja, die content length is belangrijk voor zover ik me kan herinneren.
PHP:
| <?php
|
Catch22 wijzigde dit bericht 24-07-2008 10:59 (39%)
Koffie?
Ja, Lekker
quequote:Catch22 schreef op donderdag 24 juli 2008 @ 10:57:
[...]
Ja dat snap ik, maar ik bedoelde dat je de content-length als bitsize aangeeft en niet als characterhoeveelheid. Dat loopt toch niet 1-op-1
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15<?php
ob_start();
//een hoop gedoe, waarin $output wordt gemaakt en correct gevuld
touch($filename);
$handle = fopen($filename, 'w');
fwrite($handle, $output);
fclose($handle);
ob_end_clean();
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename='" . $filename . "';";);
header("Content-Transfer-Encoding: binary");
header('Content-Length: '. filesize($filename));
readfile("$filename");
exit();
?>
waaarom overigens die file openen, sluiten, en daarna nog een keer filesize van die file pakken en dan nog eens die file d.m.v. via readfile weer inlezen en uitspugen als je ook gewoon de string length van die $output strinng kan pakken én die($output) kan doen ipv readfile ? scheelt weer een loze file open /close handeling
SchizoDuckie wijzigde dit bericht 24-07-2008 11:03 (18%)
Het is gewoon het aantal bytes, en aangezien PHP gewoon ascii stuurt werkt strlen prima.quote:Catch22 schreef op donderdag 24 juli 2008 @ 10:57:
Ja dat snap ik, maar ik bedoelde dat je de content-length als bitsize aangeeft en niet als characterhoeveelheid. Dat loopt toch niet 1-op-1
als dingen niet werken zoals ik dat wil ga ik rare dingen proberen 
PHP:
nu laat hij het in de browser zien ipv als download aan te bieden...
PHP:
| <?php
|
nu laat hij het in de browser zien ipv als download aan te bieden...
Koffie?
Ja, Lekker
PHP:
| <?php
|
dus nog /force-download erachter
.
sorry maar dat ben ik echt in de 10 jaar ofzo dat ik met php en 't web bezig ben nog niet tegen gekomen. waar trek je die info vandaaan?quote:Mr.Zop schreef op donderdag 24 juli 2008 @ 11:10:
PHP:
1<?php
header("Content-Type: application/octet-stream/force-download");
?>
dus nog /force-download erachter
http://www.google.com/sea...ad+%2Bphp&btnG=Searchquote:SchizoDuckie schreef op donderdag 24 juli 2008 @ 11:16:
sorry maar dat ben ik echt in de 10 jaar ofzo dat ik met php en 't web bezig ben nog niet tegen gekomen. waar trek je die info vandaaan?
of hier ook:
http://nl.php.net/header
Mr.Zop wijzigde dit bericht 24-07-2008 11:21 (5%)
.
Daar staat vaak wat anders dan wat jij zeiquote:
jij ook?
ik dacht al dat het aan mij lag 
http://www.google.nl/sear...a=&btnG=Google+zoeken welgeteld 7 5 exact matches
http://www.google.nl/sear...a=&btnG=Google+zoeken welgeteld 7 5 exact matches
SchizoDuckie wijzigde dit bericht 24-07-2008 11:24 (75%)
Raar verhaal
Ik heb het namelijk zelf ook vaak genoeg zien staan, gebruik het ook zo en het werkt.
Maar misschien komt het door dit regeltje:
PHP:
Maar zou een 'description' daar voor zorgen? Misschien voor sommige browsers.
http://www.google.nl/sear...&btnG=Zoeken&meta=
ps; hier heb je er nog 6
"audio/force-download"
Maar misschien komt het door dit regeltje:
PHP:
| <?php
|
Maar zou een 'description' daar voor zorgen? Misschien voor sommige browsers.
http://www.google.nl/sear...&btnG=Zoeken&meta=
ps; hier heb je er nog 6
Mr.Zop wijzigde dit bericht 24-07-2008 11:28 (34%)
Reden: links toegevoegd
.
Hier 14.400. Maar daar staat toch wat anders dan wat jij zei.quote:Mr.Zop schreef op donderdag 24 juli 2008 @ 11:25:
Raar verhaalIk heb het namelijk zelf ook vaak genoeg zien staan, gebruik het ook zo en het werkt.
Maar misschien komt het door dit regeltje:
PHP:
1<?php
header("Content-Description: File Transfer");
?>
Maar zou een 'description' daar voor zorgen? Misschien voor sommige browsers.
http://www.google.nl/sear...&btnG=Zoeken&meta=
ps; hier heb je er nog 6"audio/force-download"
jij ook?
Maar is het nu wel of geen correcte code? Daar ging het toch om, dat is ook wat ik zei.quote:GlowMouse schreef op donderdag 24 juli 2008 @ 11:35:
[...]
Hier 14.400. Maar daar staat toch wat anders dan wat jij zei.
Mr.Zop wijzigde dit bericht 24-07-2008 11:38 (3%)
.
Het is gewoon een niet bestaand content type voor zover ik weet.
Dat het werkt is dus eerder geluk dan wijsheid en het is best aan te raden met oog op de toekomst om dit aan te passen naar een wel bestaand content-type (Ik kan me zomaar voorstellen dat de http header inspecties in de toekomst stricter worden)
Verder, die content description wordt gebruikt in IE in het file save dialog.
Dat het werkt is dus eerder geluk dan wijsheid en het is best aan te raden met oog op de toekomst om dit aan te passen naar een wel bestaand content-type (Ik kan me zomaar voorstellen dat de http header inspecties in de toekomst stricter worden)
Verder, die content description wordt gebruikt in IE in het file save dialog.
SchizoDuckie wijzigde dit bericht 24-07-2008 11:50 (46%)
Nou heel fijn. Ik heb het getest op een nieuwere apache en dan werkt het wel. Probleem ligt hem dus in de oude versie van apache op 1 of andere manier...
Koffie?
Ja, Lekker
Sowieso is het in dit soort gevallen altijd zaak om ff met FF en de Web Developer extension te kijken naar de headers die je in je response ook inderdaad terugkrijgt.
Het ligt dus aan de Apache versie want hij pakt hem op een recente server wel...
Koffie?
Ja, Lekker
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
| PHP Version 4.4.0 System xxxxxxxxxx Build Date Jul 11 2005 16:08:47 Server API Apache Virtual Directory Support enabled Configuration File (php.ini) Path c:\program files\apache group\apache\php.ini PHP API 20020918 PHP Extension 20020429 Zend Extension 20050606 Debug Build no Zend Memory Manager enabled Thread Safety enabled Registered PHP Streams php, http, ftp, compress.zlib This program makes use of the Zend Scripting Language Engine: Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies -------------------------------------------------------------------------------- PHP Credits -------------------------------------------------------------------------------- Configuration PHP Core Directive Local Value Master Value allow_call_time_pass_reference On On allow_url_fopen On On always_populate_raw_post_data Off Off arg_separator.input & & arg_separator.output & & asp_tags Off Off auto_append_file no value no value auto_prepend_file no value no value browscap no value no value default_charset no value no value default_mimetype text/html text/html define_syslog_variables Off Off disable_classes no value no value disable_functions no value no value display_errors On On display_startup_errors Off Off doc_root no value no value docref_ext no value no value docref_root no value no value enable_dl On On error_append_string no value no value error_log no value no value error_prepend_string no value no value error_reporting 2047 E_NONE expose_php On On extension_dir C:\PHP\extensions C:\PHP\extensions file_uploads On On gpc_order GPC GPC highlight.bg #FFFFFF #FFFFFF highlight.comment #FF8000 #FF8000 highlight.default #0000BB #0000BB highlight.html #000000 #000000 highlight.keyword #007700 #007700 highlight.string #DD0000 #DD0000 html_errors On On ignore_repeated_errors Off Off ignore_repeated_source Off Off ignore_user_abort Off Off implicit_flush Off Off include_path .;c:\php4\pear .;c:\php4\pear log_errors Off Off log_errors_max_len 1024 1024 magic_quotes_gpc On On magic_quotes_runtime Off Off magic_quotes_sybase Off Off max_execution_time 600 30 max_input_time 120 120 open_basedir no value no value output_buffering no value no value output_handler no value no value post_max_size 8M 8M precision 12 12 register_argc_argv On On register_globals Off Off report_memleaks On On safe_mode Off Off safe_mode_exec_dir no value no value safe_mode_gid Off Off safe_mode_include_dir no value no value sendmail_from me@localhost.com me@localhost.com sendmail_path no value no value serialize_precision 100 100 short_open_tag On On SMTP localhost localhost smtp_port 25 25 sql.safe_mode Off Off track_errors Off Off unserialize_callback_func no value no value upload_max_filesize 10M 10M upload_tmp_dir C:\PHP\uploadtemp C:\PHP\uploadtemp user_dir no value no value variables_order EGPCS EGPCS xmlrpc_error_number 0 0 xmlrpc_errors Off Off y2k_compliance On On apache Apache for Windows 95/NT Apache Version Apache/1.3.29 (Win32) PHP/4.4.0 Apache Release 10324100 Apache API Version 19990320 Hostname:Port http://127.0.0.1:8008 Timeouts Connection: 300 - Keep-Alive: 15 Directive Local Value Master Value child_terminate 0 0 engine 1 1 last_modified 0 0 xbithack 0 0 Apache Environment Variable Value COMSPEC C:\WINDOWS\system32\cmd.exe DOCUMENT_ROOT c:/program files/apache group/apache/htdocs HTTP_ACCEPT */* HTTP_ACCEPT_ENCODING gzip, deflate HTTP_ACCEPT_LANGUAGE en-us HTTP_CONNECTION Keep-Alive HTTP_COOKIE w4school=AJS; PHPSESSID=3db40b0ef762316b1a486a6a561175a3 HTTP_HOST 127.0.0.1 HTTP_UA_CPU x86 HTTP_USER_AGENT Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322) PATH C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem REMOTE_ADDR 127.0.0.1 REMOTE_PORT 1335 SCRIPT_FILENAME c:/program files/apache group/apache/htdocs/basisprogramma/module/ex_selectieodb.php SERVER_ADDR 127.0.0.1 SERVER_ADMIN xxxxxxxxxx SERVER_NAME 127.0.0.1 SERVER_PORT 80 SERVER_SIGNATURE <ADDRESS>Apache/1.3.29 Server at 127.0.0.1 Port 80</ADDRESS> SERVER_SOFTWARE Apache/1.3.29 (Win32) PHP/4.4.0 SystemRoot C:\WINDOWS WINDIR C:\WINDOWS GATEWAY_INTERFACE CGI/1.1 SERVER_PROTOCOL HTTP/1.1 REQUEST_METHOD GET QUERY_STRING no value REQUEST_URI /basisprogramma/module/ex_selectieodb.php SCRIPT_NAME /basisprogramma/module/ex_selectieodb.php HTTP Headers Information HTTP Request Headers HTTP Request GET /basisprogramma/module/ex_selectieodb.php HTTP/1.1 Accept */* Accept-Encoding gzip, deflate Accept-Language en-us Connection Keep-Alive Cookie w4school=AJS; PHPSESSID=3db40b0ef762316b1a486a6a561175a3 Host 127.0.0.1 UA-CPU x86 User-Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322) HTTP Response Headers X-Powered-By PHP/4.4.0 Expires Thu, 19 Nov 1981 08:52:00 GMT Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma no-cache Keep-Alive timeout=15, max=91 Connection Keep-Alive Transfer-Encoding chunked Content-Type text/html bcmath BCMath support enabled calendar Calendar support enabled com Directive Local Value Master Value com.allow_dcom Off Off com.autoregister_casesensitive On On com.autoregister_typelib Off Off com.autoregister_verbose Off Off com.typelib_file no value no value ctype ctype functions enabled ftp FTP support enabled gd GD Support enabled GD Version bundled (2.0.28 compatible) FreeType Support enabled FreeType Linkage with freetype GIF Read Support enabled GIF Create Support enabled JPG Support enabled PNG Support enabled WBMP Support enabled XBM Support enabled mysql MySQL Support enabled Active Persistent Links 0 Active Links 1 Client API version 3.23.49 Directive Local Value Master Value mysql.allow_persistent On On mysql.connect_timeout 60 60 mysql.default_host no value no value mysql.default_password no value no value mysql.default_port no value no value mysql.default_socket no value no value mysql.default_user no value no value mysql.max_links Unlimited Unlimited mysql.max_persistent Unlimited Unlimited mysql.trace_mode Off Off odbc ODBC Support enabled Active Persistent Links 0 Active Links 0 ODBC library Win32 Directive Local Value Master Value odbc.allow_persistent On On odbc.check_persistent On On odbc.default_db no value no value odbc.default_pw no value no value odbc.default_user no value no value odbc.defaultbinmode return as is return as is odbc.defaultlrl return up to 4096 bytes return up to 4096 bytes odbc.max_links Unlimited Unlimited odbc.max_persistent Unlimited Unlimited overload User-Space Object Overloading Support enabled pcre PCRE (Perl Compatible Regular Expressions) Support enabled PCRE Library Version 5.0 13-Sep-2004 session Session Support enabled Registered save handlers files user Directive Local Value Master Value session.auto_start On On session.bug_compat_42 On On session.bug_compat_warn On On session.cache_expire 180 180 session.cache_limiter nocache nocache session.cookie_domain no value no value session.cookie_lifetime 0 0 session.cookie_path / / session.cookie_secure Off Off session.entropy_file no value no value session.entropy_length 0 0 session.gc_divisor 10 10 session.gc_maxlifetime 3600 3600 session.gc_probability 1 1 session.name PHPSESSID PHPSESSID session.referer_check no value no value session.save_handler files files session.save_path C:\php\sessiondata C:\php\sessiondata session.serialize_handler php php session.use_cookies On On session.use_only_cookies Off Off session.use_trans_sid Off Off standard Regex Library Bundled library enabled Dynamic Library Support enabled Internal Sendmail Support for Windows enabled Directive Local Value Master Value assert.active 1 1 assert.bail 0 0 assert.callback no value no value assert.quiet_eval 0 0 assert.warning 1 1 auto_detect_line_endings 0 0 default_socket_timeout 120 120 safe_mode_allowed_env_vars PHP_ PHP_ safe_mode_protected_env_vars LD_LIBRARY_PATH LD_LIBRARY_PATH url_rewriter.tags a=href,area=href,frame=src,input=src,form=,fieldset= a=href,area=href,frame=src,input=src,form=,fieldset= user_agent no value no value tokenizer Tokenizer Support enabled wddx WDDX Support enabled WDDX Session Serializer enabled xml XML Support active XML Namespace Support active EXPAT Version 1.95.6 zlib ZLib Support enabled Compiled Version 1.1.4 Linked Version 1.1.4 Directive Local Value Master Value zlib.output_compression Off Off zlib.output_compression_level -1 -1 zlib.output_handler no value no value Additional Modules Module Name Environment Variable Value ALLUSERSPROFILE C:\Documents and Settings\All Users ClusterLog C:\WINDOWS\Cluster\cluster.log CommonProgramFiles C:\Program Files\Common Files COMPUTERNAME W4SCHOOL ComSpec C:\WINDOWS\system32\cmd.exe FP_NO_HOST_CHECK NO NUMBER_OF_PROCESSORS 1 OS Windows_NT Path C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem PATHEXT .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH PROCESSOR_ARCHITECTURE x86 PROCESSOR_IDENTIFIER x86 Family 15 Model 4 Stepping 1, GenuineIntel PROCESSOR_LEVEL 15 PROCESSOR_REVISION 0401 ProgramFiles C:\Program Files SystemDrive C: SystemRoot C:\WINDOWS TEMP C:\WINDOWS\TEMP TMP C:\WINDOWS\TEMP USERPROFILE C:\Documents and Settings\Default User windir C:\WINDOWS knip _SERVER["argc"] 0 _ENV["ALLUSERSPROFILE"] C:\\Documents and Settings\\All Users _ENV["ClusterLog"] C:\\WINDOWS\\Cluster\\cluster.log _ENV["CommonProgramFiles"] C:\\Program Files\\Common Files _ENV["COMPUTERNAME"] W4SCHOOL _ENV["ComSpec"] C:\\WINDOWS\\system32\\cmd.exe _ENV["FP_NO_HOST_CHECK"] NO _ENV["NUMBER_OF_PROCESSORS"] 1 _ENV["OS"] Windows_NT _ENV["Path"] C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem _ENV["PATHEXT"] .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH _ENV["PROCESSOR_ARCHITECTURE"] x86 _ENV["PROCESSOR_IDENTIFIER"] x86 Family 15 Model 4 Stepping 1, GenuineIntel _ENV["PROCESSOR_LEVEL"] 15 _ENV["PROCESSOR_REVISION"] 0401 _ENV["ProgramFiles"] C:\\Program Files _ENV["SystemDrive"] C: _ENV["SystemRoot"] C:\\WINDOWS _ENV["TEMP"] C:\\WINDOWS\\TEMP _ENV["TMP"] C:\\WINDOWS\\TEMP _ENV["USERPROFILE"] C:\\Documents and Settings\\Default User _ENV["windir"] C:\\WINDOWS |
Mijn settings, misschien kan hier iemand wat mee ?
Koffie?
Ja, Lekker
*Voorzichtige kick*
Iemand een oplossing? Of een andere manier waarop het wel zou kunnen ?
Iemand een oplossing? Of een andere manier waarop het wel zou kunnen ?
Koffie?
Ja, Lekker
klinkt misschien heel dom, maar probeer eens de volgorde van de headers aan te passen! Dat wil nog wel eens werken voor mij 
in principe kan je met de content-disp header al af (getest op andere apache). Alleen die werkt ook niet
Koffie?
Ja, Lekker