Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] operacje na plikach binarnych
boya
post
Post #1





Grupa: Zarejestrowani
Postów: 287
Pomógł: 0
Dołączył: 26.02.2003
Skąd: Ow/Pn

Ostrzeżenie: (0%)
-----


Witam

Mam plik binarny i chcialem z niego wyciagnac np. pierwsze cztery bajty a pozniej wyciagac sobie z niego zmienne przedzialami np od 16 bajtu do 25... czy da sie to jakos rozwiazac za pomoca php ? Jezeli tak prosze o info lub wskazowki gdzie mozna pokopac za wiedza...
pozdr.

forumowa opcja szukaj jest uboga w tym zakresie


--------------------
Reklamowa Oklejanie Samochodów: oklejanie pojazdów / tel. 62 597 74 48
Go to the top of the page
+Quote Post
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Dla nieczytających manuala jest forum Przedszkole tongue.gif
Dlaczego tu właśnie nie założyłeś tego wątku? Przenoszę z php.

fopen
Cytat
Windows oferuje flagę ('t') konwertującą tryb tekstowy, która przezroczyście przekłada \n na \r\n kiedy pracujesz z plikiem. Dla kontrastu, możesz także uzyć 'b' aby wymusić tryb binarny, wtedy nie będzie konwertować twoich danych. Aby użyć tych flag, wstaw 'b' lub 't' jako ostatni znak w parametrze tryb.

A potem fread
Go to the top of the page
+Quote Post
boya
post
Post #3





Grupa: Zarejestrowani
Postów: 287
Pomógł: 0
Dołączył: 26.02.2003
Skąd: Ow/Pn

Ostrzeżenie: (0%)
-----


tyle to i ja już wiem... aarambo.gif
jak wyciagnacz pliku od-do bajtow

Ten post edytował boya 15.12.2006, 14:48:53


--------------------
Reklamowa Oklejanie Samochodów: oklejanie pojazdów / tel. 62 597 74 48
Go to the top of the page
+Quote Post
heaven
post
Post #4





Grupa: Nieautoryzowani
Postów: 92
Pomógł: 15
Dołączył: 21.10.2006

Ostrzeżenie: (0%)
-----


odczytanie pierwszych 4 bajtow
  1. <?php
  2. fseek($fp,0);
  3. $dane = fread($fp,4);
  4. ?>

od 16 do 25 bajta
  1. <?php
  2. fseek($fp,15);
  3. $dane = fread($fp,10);
  4. ?>


Ten post edytował heaven 15.12.2006, 14:49:36
Go to the top of the page
+Quote Post
mike
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


To czego nie wiesz?
Jak z pliku czytać?

Przechodzisz do pozycji 15 i czytasz 10 bajtów.
Masz przeczytane bajty 16-25.

Wszystkie funkcje masz w manualu opisane po polsku, więc o co chodzi?

---added---
O widzisz, gotowca dostałeś od ~heaven
Go to the top of the page
+Quote Post
boya
post
Post #6





Grupa: Zarejestrowani
Postów: 287
Pomógł: 0
Dołączył: 26.02.2003
Skąd: Ow/Pn

Ostrzeżenie: (0%)
-----


heaven dzieki ! ...pewnie dlatego nie jest moderatorem jak Ty...
dziekuje wam i pozdrawiam

jeszcze jedna sprawa... spotkał się ktoś z funkcją bitshift-u ?
chodzi o zamiane pierwszych dwoch bajttow z drugimi dwoma kolejnoscia


rozwiazanie pytania wyzej:
Kod
function Read32BitLittleEndianIntFromBinaryFile($FileHandle)
{
  $BinaryData = fread($FileHandle, 4);
  $UnpackedData = unpack("V", $BinaryData);
  return $UnpackedData[1];
}


Ten post edytował boya 15.12.2006, 15:34:19


--------------------
Reklamowa Oklejanie Samochodów: oklejanie pojazdów / tel. 62 597 74 48
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 14:11