Эх, ну ладно. Допустим вот такой юнит:
| Код | unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP;
type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); var i: integer; Filess, PostParams: TStringList; HTTP: TIdHTTP; Stream: TMemoryStream; begin Filess := TStringList.Create; Filess.Add('D736EB7173364D269769267398F2043A46C551C319F9457B8D14B0BF2C2C45F0'); Filess.Add('84C82A708CCB4B6C975178318EA9CECE6CBBDB71334D41448771627892BD281A'); Filess.Add('5F3D9A0A038E432CBAC9F7BE32998D66124A14146DB645A28884E62164C6DEB5'); PostParams := TStringList.Create; HTTP := TIdHTTP.Create(Form1); for i := Filess.Count - 1 downto 0 do begin PostParams.Clear; PostParams.Add('kuka=71B9160192584F26977CC9B8A58FB156'); PostParams.Add('dir=/Elements'); PostParams.Add('filename=' + Filess.Strings[i]); Stream := TMemoryStream.Create; try HTTP.Post('http://test2.ru/getfiles.php', PostParams, Stream); if Stream.Size <> 0 then begin Stream.SaveToFile(Filess.Strings[i]); Filess.Delete(i); end; finally Stream.Free; end; end; HTTP.Free; Filess.Free; PostParams.Free; end;
end.
|
И вот такой скрипт:
| Код | <?php
$HomeDir = "D:/Server/home/test2.ru/www"; $KukaS = "71B9160192584F26977CC9B8A58FB156";
if ((isset($_POST['kuka'])) & (isset($_POST['filename'])) & (isset($_POST['dir']))){ if ($_POST['kuka'] == $KukaS) { $file_ = $HomeDir.$_POST['dir']."/".$_POST['filename']; if (file_exists($file_)) { out_file($file_); } } }
function out_file($file1){ header ("Content-Type: application/octet-stream"); header ("Accept-Ranges: bytes"); header ("Content-Length: ".filesize($file1)); header ("Content-Disposition: attachment; filename=".$file1); readfile($file1); }
?>
|
При скачивании файлов от 2х метров у меня выставляется им объём фиксированно 1 999 888... Может и файлы выложить которые качал? ) Я больше чем уверен что тут проблема не в формировании имён файлов, или передачи параметров... |