Artykuły na każdy temat

[PHP] Wszystkie możliwe kombinacje kolorów

Dodano 03.02.2010r. o 05:10
Jakiś czas temu na forumweb.pl ktoś zapytał o skrypt umożliwiający wylosowanie koloru. Takowy wykonałem i udostępniłem w artykule pod tytułem [PHP] Losowy kolor w trzech postaciach. Jednakże nie to jest tematem dzisiejszego artykuły. Jakiś czas temu znajomy webmaster próbował wygenerować wszystkie możliwe kolory w zapisie szesnastkowym lecz mu się nie udało. Chcąc iść jego śladami postanowiłem zrobić skrypt, który wygeneruje listę wszystkich możliwych kolorów. Poniżej znajduje się kod, który stworzy plik hex-colors.txt, a następnie wrzuci do niego wszystkie 16 777 216 możliwych kombinacji. Po wygenerowaniu lista powinna zajmować około 127MB. Informuje, że skrypt może generować się dłuższą chwile dlatego też jeżeli zamierzacie go uruchomić to będziecie musieli zmodyfikować php.ini i ustawić zmiennej max_execution_time wartość 0. Podczas pracy skryptu proszę na bieżąco sprawdzać wielkość pliku aby mieć pewność, że wszystko idzie zgodnie z planem.
Kod:
<?php
$fp fopen('hex-colors.txt''a');
$i 16777216// Ilość kolorów
                 
for($h 0$h $i; ++$h)
{
 // na hex
 $hex dechex($h);
 // liczymy długość
 $length strlen($hex);

 // uzupełniamy
 if($length 6)
 {
  $hex str_repeat('0'$length).$hex;
 }

 // na duże litery
 $hex strtoupper($hex).(($h 1) < $i "\r\n" "");
 // zapisujemy
 fwrite($fp$hex);
}

fclose($fp);
?>
Poniżej znajdują się wygenerowane i skompresowane listy zawierające:

Więcej informacji na:
http://php.net/manual/pl/function.dechex.php
http://php.net/manual/pl/function.fclose.php
http://php.net/manual/pl/function.fopen.php
http://php.net/manual/pl/function.fwrite.php
http://php.net/manual/pl/function.str-repeat.php
http://php.net/manual/pl/function.strlen.php
http://php.net/manual/pl/function.strtoupper.php

Komentarze

Publikowane komentarze są prywatnymi opiniami użytkowników serwisu. Serwis nie ponosi odpowiedzialności za treść opinii. W trosce o zachowanie poziomu dyskusji wszystkie komentarze podlegają akceptacji przed ich publikacją dlatego proszę cierpliwie czekać aż komentarz zostanie opublikowany.

CapaciousCore

Dodano 17.06.2010r. o 22:51
Magia kina Smile

ziomal432

Dodano 06.06.2010r. o 22:57
Jakim cudem udało Ci się skompresować ok. 130mb do 167kb? Jestem pod wrażeniem Very Happy

Dodaj komentarz

Zostaw komentarz jeżeli możesz! Nie bądź przysłowiowym botem! Nie bądź obojętny! Ciebie to nic nie kosztuje, a mi sprawi uśmiech na twarzy.
Zezwolono używać: BBCode
Zabroniono używać:
znaczników HTML

(Wymagany)

(Wymagany, niepublikowany)

(Nie wymagana)

Token:

Obrazek dla bota

(Przepisz tylko cyfry!)

(Wymagana)