Blog IT
27 kwi
Wielu programistów PHP używa funkcji count która służy do zliczania ilości elementów tablicy.
Niewielu jednak pamięta o tym, że funkcja ta może przyjmować drugi argument.
Służy on do określania, czy funkcja ma liczyć rekursywnie, co przydaje się przy wielowymiarowych tablicach.
Przykład z manuala:
1 kwi
Jeśli wierzyć informacją prasowym (http://forum.php.pl/index.php?act=announce&f=8&id=8, http://msdn.microsoft.com/pl-pl, http://www.codeguru.pl/NewsList/1,20629/by_PublishDate/desc.aspx, http://wss.pl/NewsList/1,20629/by_PublishDate/desc.aspx) Microsoft przejmuje Php.pl
Szkoda, że dziś 1 kwietnia i nie do końca wiadomo czy to żart czy też prawda.
Poczekamy do jutra.
Dopisek: To jednak tylko żart:)
1 kwi
W standardowej konfiguracji Zend Studio binduje kombinację alt+n uniemożliwiając napisanie literki ń.
Żeby wyłączyć tą opcję należy:
Window -> Customize Perspective -> Commands Groups Availability -> Odznaczamy checkbox-a przy „New PHP Document„
29 mar
W dniu wczorajszym Zend zdecydował się rozdać za darmo licencję na
1 x Zend Studio 8.0 $284.98
1 x Zend Server Developer License $284.98
wszystkim ZCE.
Świetna idea i punkt dla PHP.
28 mar
Jeśli ktoś interesuje się bezpieczeństwem polecam serię artykułów Pawła.
W 25 lekcjach pokazuje On podstawowe metody ataków oraz obrony przed nimi.
Godne polecenia!
26 mar
Jeśli na stronie nie znajduje się:
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
i zamiast polskich liter dostajesz krzaczki, spróbuj na początku skryptu PHP dodać linijkę:
1 |
gdzie utf-8 możesz zamienić na swoje kodowanie.
26 mar
Prosty skrypt sprawdzający poprawność numeru PESEL w PHP:
Dzięki usuwaniu wszystkiego oprócz cyfr z numeru PESEL, możemy go podawać w różnych formach (ze spacjami, przecinkami, pauzami itp.)
Przykład działania skryptu można zobaczyć tutaj.
26 mar
Wielu początkujących webmasterów budując wyszukiwarkę stosuję konstrukcję LIKE, których jednak szybkość i trafność budzi wiele do życzenia. Dlatego też w MySQL wprowadzono wyszukiwanie pełnotekstowe, które przy pomocy algorytmu sortuje znalezione informację według trafności.
Załóżmy, że na mamy system CMS w którym przechowujemy dane w następujący sposób:
1 2 3 4 5 6 7 8 | CREATE TABLE `cms` ( `id` int(11) NOT NULL auto_increment, `tytul` varchar(255) NOT NULL, `tresc` text NOT NULL, `tagi` varchar(255) NOT NULL, `status` smallint(1) default '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; |
Jak widać przechowujemy tytuł artykułu, jego treść, tagi oraz status (0 – nie wyświetla, 1 – wyświetla)
Aby wyszukiwanie pełnotekstowe działało musimy stworzyć specjalne indeksy. Dla przykładu:
1 2 3 4 5 6 7 8 9 10 | ALTER TABLE cms ADD FULLTEXT (tytul); # jeżeli wyszukujemy sam tytuł ALTER TABLE cms ADD FULLTEXT (tresc); # jeżeli wyszukujemy samą treść ALTER TABLE cms ADD FULLTEXT (tagi); # jeżeli wyszukujemy same tagi ALTER TABLE cms ADD FULLTEXT (tytul, tresc); # szukam według tytułu i treści ALTER TABLE cms ADD FULLTEXT (tresc, tagi); # szukam według treści i tagów ALTER TABLE cms ADD FULLTEXT (tytul, tresc, tagi); # szukam według tytułu treści i tagów #itd |
Mając już stworzone indeksy, możemy przystąpić do tworzenia zapytań.
Zacznijmy od wyszukania identyfikatora artykułu, który posiada tag „php” :
1 | SELECT id FROM cms WHERE MATCH(tagi) AGAINST('php'); |
Jeśli chcemy zwrócić tytuł artykułu który w treści, tytule lub tagu zawiera słowo „matematyka”:
1 | SELECT tytul FROM cms WHERE MATCH(tytul, tresc, tagi) AGAINST('matematyka'); |
Oczywiście funkcjonalność ta ma pewne ograniczenia:
Jeżeli ilość rekordów spełniających podany warunek jest większa od połowy wszystkich rekordów w bazie, nie zostanie zwrócony żaden rekord.
Wyszukiwarka ta działa podobnie jak Google: (obsługiwanie operatorów)
„Ala ma kota” – musi wystąpić cała fraza: Ala ma kota
Ala -kota – musi wystąpić słowo Ala i nie może wystąpić słowo kota
kot* – dopuszczalne są różne końcówki, np. kot, kota, kotem, kotu
Aby korzystać z operatorów należy dodatkowo do zapytania dodać: IN BOOLEAN MODE
Wtedy wygląda ono tak:
1 | SELECT id FROM cms WHERE MATCH(tytul, tresc) AGAINST('Ala -kota' IN BOOLEAN MODE); |
24 mar
Jeśli masz problem ze spamem na swojej stronie, a nie chcesz stosować uporczywych dla użytkowników captcha, wypróbuj Sblam!
Filtruje on treści postów w sposób niewidoczny dla użytkowników, działa ze wszystkimi przeglądarkami i jest przyjazny dla osób niepełnosprawnych.
Jest również całkowicie darmowy, a jego kod źródłowy można oglądnąć Tutaj.
16 mar
Jeżeli podczas uploadu plików w wordpressie dostajesz błąd, spróbuj dodać do pliku .htaccess kod:
1 2 3 4 5 6 | <FilesMatch "(async-upload\.php|wp-cron\.php|xmlrpc\.php)$"> Satisfy Any Order allow,deny Allow from all Deny from none </FilesMatch> |
Ostatnie komentarze