![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему разные crc32?
Тфьу © (2006-06-01 00:09:00)В ПХП загружаю картинку и контрольную сумму:
В Делфи проверяю контрольную сумму:
MS:=TMemoryStream.Create;
jpg:=TJPEGImage.Create;
try
IdHTTP.Get(' http://myserver/loadimage.php?&imgname=test.jpg',MS);
if MS.Size>10 then
begin
MS.Position:=0;
PC:=AllocMem(10);
MS.Read(PC^,10);
Label1.Caption:=PC;
FreeMem(PC);
MS.Position:=10;
jpg.LoadFromStream(MS);
Image.Picture.Assign(jpg);
MS.Position:=10;
crc:=SZCRC32FullStream(MS);
Label2.Caption:=IntToStr(crc);
end;
finally
MS.Free;
jpg.Free;
end;
crc32 в Делфи считал разными предложенными в интернете способами. Получается одно и тоже число, которое не совпадает с числом php. Что неверно?
Тфьу (2006-06-01 00:40:00) [1]Я дебил. Надо пойти спать. Вот как надо было:
<?php
if (!$imgname)
{
exit;
}
$file_string = file_get_contents($imgname);
$crc = crc32($file_string);
echo sprintf("%010u", $crc);
echo $file_string;
?>
Тфьу (2006-06-01 00:32:00) [2]Сорри. Вопрос снимаю.
Вот эта падла:
$im = @imagecreatefromjpeg($imgname);
if ($im) {
imagejpeg($im);
}
Режет картинку. Пойду искать как решить...
Может поможет кто? Надо передать на клиента файл...
Тфьу (2006-06-01 00:24:00) [3]Похоже, нашел в чем дело. Помогите разобраться со Стрмами - файл занимает 398343 байта, размер стрима 68724. А где остальное? Примем, картинка грузится нормально...