Masz zdjęcia normalnych rozmiarów, jednak nie chcesz przerabiać wszystkich na miniatury.
Można za pomocą CSS lub atrybutów width i height zmniejszyć ich wymiary na ekranie, ale ich rozmiar będzie nadal tak duży, jak dużego zdjęcia, co powoduję że się dłużej ładują.
Pokażę trick wykorzystujący JavaScript/JQuery, .htaccess/mod_rewrite i oczywiście PHP, który będzie tworzył miniatury w locie i zapisywał je na serwerze, gdy tylko zdjęcie zostanie wyświetlone za pierwszym razem.
Web Majster - triki i rozwiązania. Pokazuję ciekawe rozwiązania w PHP, frameworku Kohana PHP, JavaScript i jQuery, htaccess i mod_rewrite oraz inne.
wtorek, 21 lutego 2012
czwartek, 9 lutego 2012
Jak dodać unikalny ciąg znaków do rekordu w bazie danych
Pokażę sposób na wstawienie unikalnego ciągu znaków do tabeli w bazie danych.
Załóżmy, że mamy taką tabelę:
gdzie id jest kluczem głównym, zatem indeksem unikalnym,
hash ma być unikalnym ciągiem znaków - na początku niech posiada wartość NULL,
oraz data - jakieś dane.
Załóżmy, że mamy taką tabelę:
| user --------------------- id INT PRIMARY KEY AUTO_INCREMENT hash VARCHAR DEFAULT NULL data TEXT |
hash ma być unikalnym ciągiem znaków - na początku niech posiada wartość NULL,
oraz data - jakieś dane.
wtorek, 24 stycznia 2012
Zmiana kolejności kluczy w tablicy 2-wymiarowej
Przy uploadzie tablicy plików otrzymujemy taką tablicę 2-wymiarową:
Wygodniej ją przetwarzać, jeśli klucze byłyby zamienione miejscami, tzn. [0]['name'], itd.
Oto funkcja, która zamienia te klucze miejscami w tablicy 2-wymiarowej:
Teraz jest wygodniej sprawdzać uploadowane pliki:
| $_FILES['name'][0] $_FILES['name'][1] ... $_FILES['type'][0] $_FILES['type'][1] ... $_FILES['error'][0] $_FILES['error'][1] ... $_FILES['tmp_name'][0] $_FILES['tmp_name'][1] ... $_FILES['size'][0] $_FILES['size'][1] ... |
Wygodniej ją przetwarzać, jeśli klucze byłyby zamienione miejscami, tzn. [0]['name'], itd.
Oto funkcja, która zamienia te klucze miejscami w tablicy 2-wymiarowej:
function replaceKeys(array $arr){ $newArr = array(); foreach($f as $k1 => $v1){foreach($v1 as $k2 => $v2){ $newArr [$k2][$k1] = $f[$k1][$k2]; } } return $newArr; } |
Teraz jest wygodniej sprawdzać uploadowane pliki:
$files = replaceKeys($_FILES); foreach($files as $file){ if($file['error'] == 0){ // ...... } } |
środa, 14 grudnia 2011
Tablica znaków w PHP bez używania pętli
Cześć,
pokażę, jak stworzyć tablicę znaków w PHP nie używając pętli, czyli
array('A', 'B', ..., 'Z', 'a', 'b', ..., 'z').
Liczby w tablicach $big i $small to kody ASCII liter.
Jeżeli chcemy otrzymać string 'ABC...Zabc....z',
to wystarczy złączyć elementy tablicy:
implode('', $letters);
pokażę, jak stworzyć tablicę znaków w PHP nie używając pętli, czyli
array('A', 'B', ..., 'Z', 'a', 'b', ..., 'z').
| // utworzenie tablicy liczb array(65, ..., 90) $big = range(65, 90); // utworzenie tablicy liczb array(97, ..., 122) $small = range(97, 122); // złączenie tych tablic $nums = array_merge($big, $small); // stosujemy funkcję chr() do każdego elementu tablicy $letters = array_map('chr', $nums); var_dump($letters); |
Liczby w tablicach $big i $small to kody ASCII liter.
Jeżeli chcemy otrzymać string 'ABC...Zabc....z',
to wystarczy złączyć elementy tablicy:
implode('', $letters);
czwartek, 8 grudnia 2011
Tworzenie pliku .htaccess (z kropką) w Windows
Cześć,
jak zwykle w Windows trzeba zrobić coś na około.
Pokażę, jak utworzyć plik zaczynający się od kropki na przykładzie .htaccess.
1. Najpierw tworzymy sobie np. htaccess.txt
2. Wchodzimy do wiersza polecenia (cmd lub wybieramy z akcesorii)
3. Przechodzimy do poleceniem cd do katalogu z plikiem htaccess.txt
4. Poleceniem ren htaccess.txt .htaccess zmieniamy nazwę.
Gotowe!
Jak ktoś ma Notepad++, to jest to dużo prostsze.
Wystarczy otworzyć plik htaccess.txt i z menu File wybrać Raname i wpisać nową nazwę z kropką na początku.
jak zwykle w Windows trzeba zrobić coś na około.
Pokażę, jak utworzyć plik zaczynający się od kropki na przykładzie .htaccess.
1. Najpierw tworzymy sobie np. htaccess.txt
2. Wchodzimy do wiersza polecenia (cmd lub wybieramy z akcesorii)
3. Przechodzimy do poleceniem cd do katalogu z plikiem htaccess.txt
4. Poleceniem ren htaccess.txt .htaccess zmieniamy nazwę.
Gotowe!
Jak ktoś ma Notepad++, to jest to dużo prostsze.
Wystarczy otworzyć plik htaccess.txt i z menu File wybrać Raname i wpisać nową nazwę z kropką na początku.
wtorek, 6 grudnia 2011
Rotator zdjęć w jQuery z jedną zmienną globalną
Cześć,
często piszemy skrypty JavaScript stosując wiele zmiennych globalnych. Nieraz może to spowodować, że w dwóch miejscach na raz będziemy mieć zmienną o takiej samej nazwie.
Pokażę na przykładzie rotatora zdjęć z wykorzystaniem funkcji setTimeout, jak wykorzystać tylko jedną zmienną globalną.
często piszemy skrypty JavaScript stosując wiele zmiennych globalnych. Nieraz może to spowodować, że w dwóch miejscach na raz będziemy mieć zmienną o takiej samej nazwie.
Pokażę na przykładzie rotatora zdjęć z wykorzystaniem funkcji setTimeout, jak wykorzystać tylko jedną zmienną globalną.
niedziela, 4 grudnia 2011
Znak wodny na wszystkich obrazkach w katalogu
Cześć,
pokażę, jak dodać do zdjęć znak wodny, nie modyfikując i bez żadnych przeróbek wcześniejszego kodu.
Zakładamy, że zdjęcia znajdują się na serwerze w katalogu images.
Do tego katalogu wrzucamy obrazek ze znakiem wodnym najlepiej w formacie PNG, aby mieć wpływ na przeźroczystość. Niech się nazywa watermark.png.
pokażę, jak dodać do zdjęć znak wodny, nie modyfikując i bez żadnych przeróbek wcześniejszego kodu.
Zakładamy, że zdjęcia znajdują się na serwerze w katalogu images.
Do tego katalogu wrzucamy obrazek ze znakiem wodnym najlepiej w formacie PNG, aby mieć wpływ na przeźroczystość. Niech się nazywa watermark.png.
Subskrybuj:
Posty (Atom)