program upload;
{$APPTYPE CONSOLE}
{$E cgi}
uses
windows;
var
ch: char;
s: string;
buffer: PChar;
contlength, ecode, i: integer;
procedure putfile(filename: string);
var
f: textfile;
begin
assignfile(f, filename);
reset(f);
while not (eof(f)) do
begin
readln(f,s);
writeln(s);
end;
closefile(f);
end;
begin
putfile('headers.txt');
writeln;
getmem(buffer, 256);
if GetEnvironmentVariable('CONTENT_LENGTH',buffer,256) > 0 then
begin
val(buffer,contlength,ecode);
s := '';
for i := 1 to contlength do
begin
read(ch);
s := s + ch;
end;
writeln(s);
exit;
end
else
begin
putfile('top.txt');
putfile('form.txt');
putfile('bottom.txt');
end;
freemem(buffer);
end.
В итоге скрипт показывает строку POST параметров, а само содержимое файла нет. + CONTENT_LENGTH показывает размер POST данных, не учитывая размер файла. Что не так?