Od XLS do CSV – szybki wsad do bazy danych MySQL

komputerek_mysqlSą takie sytuacje gdy wymagane jest wykonanie szybkiego wsadu danych do tabeli. Oczywiście można na prędce stworzyć odpowiedni skrypt PhP, który przetworzy dane wsadowe do postaci zapytań SQL. Jednak nie zawsze ma to uzasadnienie i nie zawsze ilość czasu jest wystarczająca na stworzenie takiego mechanizmu.

Właśnie w takich sytuacjach przydatna może być komputerekkombinacja dwóch narzędzi: phpMyadmin i … to nie żart Ms Excel. Arkusz kalkulacyjny posłuży nam jako narzędzie do preparowania odpowiednio sformatowanego pliku CSV. Phpmyadmin posłuży nam natomiast do wykonania natychmiastowego wsadu do bazy.

Czytaj dalej

PHP – operacje na ciągach znaków – zamiana liter na małe

komputerek_phpOperacje na ciągach znaków to jedne z popularniejszych zadań programistycznych  realizowanych w typowym projekcie serwisu internetowego tworzonego przy pomocy PhP. Jedną z popularnych operacji wykonywanych na ciągach znaków to konwersja na ciągi złożone jedynie z małych liter. Realizacja tego zadania jest raczej trywialna. Wystarczy, że użyjecie dostępną w PhP komputerek_mysqlfunkcję strtolower() lub w przypadku zamiany pierwszej litery lcfirst().

Zadanie robi się już nieco trudniejsze gdy przyjedzie Wam pracować z ciągami znaków wśród których znajdą się litery odpowiadające znakom diakretycznym charakterystycznym dla danego narodowego alfabetu. Użycie funkcji strtolower oraz lcfirst nie spowoduje że tego typu duże litery będą zamienione na małe. Znaki wykraczające poza zakres liter ‚alphabetic’ są pomijane przez te funkcję.

Czytaj dalej

Cache-Control w .htaccess, czyli jak polepszyć wynik w google PageSpeed Insight

komputerekOstatnio z ciekawości zajrzałem do aplikacji PageSpeed Insight (PSI). Wynik mojej strony o Krecie oscylował w okolicy 75 punktów dla tradycyjnych przeglądarek dla komputerów i 61 punktów dla urządzeń mobilnych. Postanowiłem przyjrzeć się jaki element miał największy wpływ na osiągnięty wyniki. Okazało się że największym czynnikiem wpływającym negatywnie na punktację było pominięcie ustawienia maksymalnego wieku (daty wygaśnięcia) dla większości statycznych zasobów wykorzystywanych na stronie. W moim przypadku obejmowało to wszystkie pliki graficzne, js i css. Postanowiłem przeszukać internet pod kątem znalezienia sposobu na dołączenia do nagłówków tych elementów odpowiedniej wartości max-age. Czytaj dalej

Osadzanie dodatkowych czcionek na stronach

cssCzasami zdarza się, że zaawansowany projekt graficzny strony wymaga użycia niestandardowego kroju czcionek, który dodatkowo na stronie musi być wyświetlany jako tekst. W takich przypadkach wykluczone jest zastąpienie tego tekstu przez adekwatny element graficzny. Jedynym sensownym rozwiązaniem jest wskazanie przeglądarce użytkownika pliku z fontami.

W pliku css możliwe jest to za pomocą @fotn-face. W przypadku większości przeglądarek wystarczający jest plik TTF, niestety Internet Explorer jest tu wyjątkiem wymagającym specjalnego traktowania. Od wersji 6 do wersji 8 operacja ta obsługiwana jest za pomocą pliku z EOT (Embedded OpenType).

Czytaj dalej

Apache – Ładowanie pliku CSS przez linkowanie HTTP w nagłówku

cssJedną z ciekawszych właściwości jakie daje Apache to linkowanie przez nagłówek dokumentu. Dodając poniższą linię kodu w pliku .htaccess:
Header add Link ";rel=stylesheet;type=text/css"
spowodujemy, że w nagłówku każdego wywołanego dokumentu (który znajduje się pod „wpływem” tego pliku .htacces) zostanie dodane odwołanie do wskazanego arkusza main.css.

Pewnie w tym momencie zaświecą się oczy wielu osobom, które chciały by ukryć w ten sposób arkusz stylów przed „przeciętnymi” użytkownikami. Niestety muszę ostudzić Wasz zapał, gdyż ta metoda linkowania ma również jedną bardzo dużą wadę dyskwalifikującą ją z powszechnego użycia … w tej chwili metoda ta jest obsługiwana jedynie przez Operę i Firefoxa.

W dalszym ciągu tego sposobu ładowania pliku CSS można użyć jeśli chcemy dodać „spersonalizowane” style dla przeglądarek obsługujących tę metodę linkowania. Na chwilę obecną to chyba jedne sensowne zastosowanie dla tej metody.