Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

PHP: Odczyt plików binarnych

piątek,

PHP: Odczyt plików binarnych

Jak odczytać i wyświetlić zawartość pliku binarnego?

Stylistyka dzisiejszego przykładu kojarzy się z konkursem Perl Golf. Nie jest to dobry przykład do nauki, można go rozpatrywać jako ciekawostkę. Oczywiście kod spełnia swoje zadanie — odczytuje plik i wyświetla go w formie podobnej do edytora heksadecymalnego.

Założenia skryptu

  • możliwie mała liczba znaków
  • nie są wykorzystane zewnętrzne moduły
  • przy ustawionym maksymalnym poziomie raportowania błędów nie wyświetlają się żadne komunikaty

W przykładzie skrypt wyświetla swój własny kod, jednak możemy zmienić stałą __FILE__ na dowolny plik.

$l=strlen($t=file_get_contents(__FILE__));
while(@$i<$l) {
  @$a.=($y=ord($x=$t{$i++}))>32 ? htmlentities($x) : '.';
  @$h .= sprintf("%02x ",$y);
  $i%16 && $i<$l or $a=$h=!printf("<pre>%04x  %-48s %s",16*@$j++,$h,$a);
}

Ekstremalnie skrócony zapis powyższego kodu to 200 znaków.

$l=strlen($t=file_get_contents(__FILE__));while(@$i<$l){@$a.=($y=ord($x=$t{$i++}))>32?htmlentities($x):'.';@$h.=sprintf("%02x ",$y);$i%16&&$i<$l or$a=$h=!printf("<pre>%04x  %-48s %s",16*@$j++,$h,$a);

DEMO

Powyższa ramka to odnośniki do właściwych stron dokumentacji języka PHP.

Artykuł: Harmonogram egzaminów maturalnych

Harmonogram egzaminów maturalnych

Artykuł: Staże w Hiszpanii

Staże w Hiszpanii

Artykuł: Conformité Européenne

Conformité Européenne

Artykuł: Display Stream Compression

Display Stream Compression

Artykuł: High Dynamic Range

High Dynamic Range

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły