Baza modelek Glamour Models: Modelki, Fotomodelki, Hostessy

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ę:
user
---------------------
id INT PRIMARY KEY AUTO_INCREMENT
hash VARCHAR DEFAULT NULL
data TEXT
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.

wtorek, 24 stycznia 2012

Zmiana kolejności kluczy w tablicy 2-wymiarowej

Przy uploadzie tablicy plików otrzymujemy taką tablicę 2-wymiarową:

$_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').

// 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.

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ą.

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.

środa, 2 listopada 2011

Uniwersalne przekierowanie z www na bez www w htaccess

Witam,

pokażę, jak przekierować dowolną stronę z www na bez www.
Dzięki temu przekierowaniu nie trzeba zmieniać .htaccess za każdym razem.

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Objaśnienia:

  • RewriteCond %{HTTP_HOST} ^www\.(.*)$ - sprawdza, czy nazwa hosta zaczyna się od www. Nawias zapisuje się do zmiennej %1.
  • [NC] - no case, czyli brak rozróżnianie wielkich i małych liter.
  • RewriteRule ^(.*)$ http://%1/$1 - nawias jest zapisany do zmiennej $1 i następuje przekierowanie.
  • R=301 - przekierowanie typu 301
  • L - last, czyli poinformowanie, aby następne reguły nie były przetwarzane.