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', 6 - $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.
Dodaj komentarz
Zezwolono używać:
BBCode
Zabroniono używać:
znaczników HTML
CapaciousCore