powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Помогите разархивировать текст, всю голову уже сломал
6 сообщений из 6, страница 1 из 1
Помогите разархивировать текст, всю голову уже сломал
    #37859708
vladprog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
текст запакован с помощью zlib в Delphi, как данный текст распаковать в php?
Текст из rtf файла.
...
Рейтинг: 0 / 0
Помогите разархивировать текст, всю голову уже сломал
    #37859769
vladprog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vladprogтекст запакован с помощью zlib в Delphi, как данный текст распаковать в php?
Текст из rtf файла.

собственно сам код

function UncompressString(const Str : string; MayBeUncompressed : Boolean) : string;
type
PInteger = ^Integer;
var
st : TMyMemoryStream;
ZipStream : TDecompressionStream;
Size : integer;
SizeStr : string;
begin
if StrLComp(PChar(Str), 'PK', Length('PK')) = 0 then
begin
Assert(Length(Str) >= 6, 'Îøèáêà ðàñïàêîâêè. Äëèíà ñòðîêè äîëæíà áûòü áîëüøå 6 ñèìâîëîâ');
SizeStr := Copy(Str, 3, 4);
Size := PInteger(PChar(SizeStr))^;
st := TMyMemoryStream.Create;
try
st.SetPointer(@(Str[7]), Length(Str)-6);
ZipStream := TDecompressionStream.Create(st);
try
SetLength(Result, Size);
ZipStream.Read(Result[1], Size);
finally
ZipStream.Free;
end;
finally
st.Free;
end;
end
else
begin
if not MayBeUncompressed then
Raise Exception.Create('Îøèáêà ðàñïàêîâêè. Ñòðîêà íå ñîäåðæèò çàãîëîâêà.');
Result := Str;
end;
end;
...
Рейтинг: 0 / 0
Помогите разархивировать текст, всю голову уже сломал
    #37860193
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор:
vladprog , не забываем пользоваться тегом SRC, когда постите код.
...
Рейтинг: 0 / 0
Помогите разархивировать текст, всю голову уже сломал
    #37862519
vladprog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите код на php переложить
Код: pascal
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.
function uncompress (dest : pBytef;
                     var destLen : uLong;
                     const source : array of byte;
                     sourceLen : uLong) : int;
var
  stream : z_stream;
  err : int;
begin
  stream.next_in := pBytef(@source);
  stream.avail_in := uInt(sourceLen);
  { Check for source > 64K on 16-bit machine: }
  if (uLong(stream.avail_in) <> sourceLen) then
  begin
    uncompress := Z_BUF_ERROR;
    exit;
  end;

  stream.next_out := dest;
  stream.avail_out := uInt(destLen);
  if (uLong(stream.avail_out) <> destLen) then
  begin
    uncompress := Z_BUF_ERROR;
    exit;
  end;

  stream.zalloc := NIL;       { alloc_func(0); }
  stream.zfree := NIL;        { free_func(0); }

  err := inflateInit(stream);
  if (err <> Z_OK) then
  begin
    uncompress := err;
    exit;
  end;

  err := inflate(stream, Z_FINISH);
  if (err <> Z_STREAM_END) then
  begin
    inflateEnd(stream);
    if err = Z_OK then
      uncompress := Z_BUF_ERROR
    else
      uncompress := err;
    exit;
  end;
  destLen := stream.total_out;

  err := inflateEnd(stream);
  uncompress := err;
end;
...
Рейтинг: 0 / 0
Помогите разархивировать текст, всю голову уже сломал
    #37862599
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Помогите разархивировать текст, всю голову уже сломал
    #37862633
vladprog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
php стоит 5.4.0.
Почему-то когда использую функцию zlib_encode или zlib_decode архивирование и разархивирование не происходит, может не правильно использую?

Код: php
1.
2.
3.
4.
5.
6.
7.
 $fp = fopen( '2.txt', "r" );
  $data = fread ( $fp, filesize( '2.txt' ) );
  fclose( $fp );

   zlib_encode($output,$data,-1);

  echo $output;
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Помогите разархивировать текст, всю голову уже сломал
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]