Эксперт
Покинул форум
Сообщений всего: 4461
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: то выдает
Естественно, как только встречается 0, это значит строка закончилась. Передавать данные надо в url кодировке, base64 или ещё какой-нибудь.
Примерно так:
На фпт лежит файл write.php:
CODE:<?php
error_reporting(0);
$f = fopen($_GET['file'], 'ab');
fwrite($f, $_GET['text']);
fclose ($f);
?>
code (Отобразить)CODE:#define CRYPT_STRING_HEX 4
external(INT, "CryptBinaryToString", "CryptBinaryToStringA", "Crypt32.dll");
int image[1902][1080]; // массив для скрина
string path="C:\11111.jpg"; // куда сохранить скрин
sleep(500); // пауза чтобы кибор свернулся
savescreen(JPG, path, 0, 0, 100, 100, -1); // скрин в координатах 0, 0, 100, 100
char c[9999999]; // сюда читаем сохранённый скрин
if(fopen(path, "rb"))
{
int count_symbol = freadb(#c[0], sizearray(c)) - 1; fclose();
messagebox("Прочитано байт: "+format(count_symbol));
write_screen(#c[0], count_symbol, "image.jpg"); // передаём указатель на массив, количество байт и имя для картинки
}
function write_screen(char #text, int count_symbol, string file_name)
{
string response, tmp;
char c2[9999999];
int len=sizearray(c2);
CryptBinaryToString(address(#text[0]), count_symbol, CRYPT_STRING_HEX, address(#c2[0]), address(#len)); // перевод символов в HEX
messagebox(format(#c2[0], 999)); // первые 999 символов
regexreplace(-1, #tmp, format(#c2[0]), "[^\da-f]+", "%"); // заменить все символы кроме 0-9 a-f на символ %
regexreplace(1, #tmp, tmp, "(.+)(%)$", "$2$1"); // последний % переносим в начало строки
strcpy(#text[0], tmp); // скопировать получившуюся строку в массив
messagebox(format(#text[0], 999));
// файл всегда дописывается, поэтому имя должно быть разное или перед этим нужно удалять файл с сервера
// передаём массив частями по 7500 байт, если сервер позволяет можно больше
int byte=7500; // число должно быть кратно 3
for(int i=0; i < len / byte; i++)
{
if (sendgetweb(#response, "My bot", "POST", "http:/"+"/zireael.zzz.com.ua", "write.php?text="+format(#text[i*byte], byte)+"&file="+file_name)>0)
{
//messagebox (response); // ответ от сервера
}
}
} |