Kolejna wersja SmallGallery do ściągnięcia - v0.3.8 :)
Czym jest SmallGallery?
To prosty skrypt galerii pozwalający na poruszanie się po katalogach i przeglądanie zdjęć w nich zawartych. Istnieje również możliwość zgrywania plików do odpowiednich folderów przy pomocy www :)
Czytaj dalej »
Zauważyłem już jakiś czas temu, że brakuje narzędzia pozwalającego śledzić wpisy z serwisu pinger.pl, które grupowałoby je wg określonych tagów. Postanowiłem więc skorzystać z okazji i stworzyć coś takiego :)
Użytkownik podczas dodawania nowych wpisów do swojego bloga w serwisie pinger.pl, może oznaczyć je odpowiednimi tagami, dzięki którym PingerCast z agreguje odpowiednie treści. PingerCast przechowuje wpisy tylko z ostatnich 48 godzin.
PingerCast połączony został również z PingerMapą - tagi pojawiające się na mapie kierują bezpośrednio do odpowiednich stron PingerCastu.
Całość jest już funkcjonalna, ale w najbliższej przyszłości zamierzam jeszcze poprawić niektóre elementy, aby było jeszcze lepiej :)
Zapraszam do korzystania i będę wdzięczny za wszystkie uwagi dot. działania(również te bardzo krytyczne).
Dla zainteresowanych współpracą: blazej.gruszka [małpka] gmail [kropka] com
Jest wiele możliwości stworzenia stronicowania w PHP. Ja zamierzam przedstawić jedną z nich, która moim zdaniem dobrze nadawać się będzie do użycia np. w różnego rodzaju skryptach galerii nie korzystających z baz danych. Dla nieświadomych, czym jest stronicowanie? - podziałem treści na strony ;)
Wyobraźmy sobie, że stworzyliśmy galerie plików. Pod uwagę wzięliśmy podział na obiekty. Obiektami mogą być pliki graficzne oraz foldery(zawierające inne pliki), oczywiście zawierać mogą one różne właściwości, np. typ, tytuł, url, kategorię, datę utworzenia.
Czytaj dalej »
Chciałbym poświęcić kilka słów na temat użycia SQL'a oraz jego instrukcji, które nie są zbyt często opisywane w różnych tutorialach i kursach. Dzisiejszy artykuł będzie pierwszym z cyklu "jak to działa" ;) Aby przetestować przykłady znajdujące się poniżej, musimy zaopatrzyć się w bazę PostgreSQL lub MS SQL.
Czytaj dalej »
Od tygodnia rozważam w swojej głowie zmiany/innowacje jakie mam dodać do najnowszej wersji SmallGallery.
Prawdopodobnie będzie to:
- konfigurator(przez www) zapisujący konfigurację w plikach xml
- stronicowanie
- zmiana biblioteki LightBox na ThickBox ? (galeria zyskałaby możliwość wyświetlania plików video)
- przycisk wstecz, który nie będzie JS
- miniatury zapisywane na dysku, dzięki czemu cache'owane
Jednocześnie wszystkich chętnych oraz osoby korzystające z galerii zapraszam do współpracy. Być może macie jakieś nowe pomysły, które warto byłoby uwzględnić? Czekam na komentarze :)
Stało się - dzisiaj światło dzienne ujrzała najnowsza wersja SmallGallery 0.3.5. W najnowszej wersji:
- Zmiana systemu szablonów Smarty na OPT(Open Power Template)
- Dodanie możliwości wyświetlania miniatur zamiast ikonek
- Kilka nowych opcji do zmiany w konfiguracji: GALLERY_TITLE - tutuł naszej galerii, SHOW_THUMBS - wyświetlanie miniaturek, THUMB_MAX_WIDTH i THUMB_MAX_HEIGHT - maksymalna wysokość i szerokość miniaturki, THUMBS_QUALITY - jakość tworzonych miniaturek(od 1 do 100)
Czytaj dalej »
Zastanawialiście się kiedyś jak stworzyć narzędzie grep, tylko że w php? :) Poświęciłem chwilkę czasu i spłodziłem skrypt, dzięki któremu możemy wyszukiwać pliki(w odpowiednich katalogach), o określonym rozszerzeniu, zawierających odpowiednie wzorce(póki co nie oparte jeszcze na wyrażeniach regularnych ;)) Ruszyć powinien u każdego(pisane pod php4). Skrypt jest prosty i nie zawiera takiej funkcjonalności jak linuksowy grep, ale być może przyda się użytkownikom, którzy nie potrzebują zaawansowanych funkcji ;)
Czytaj dalej »
Jakiś czas temu założyłem sobie konto w twitter.com. Chcąc wzbogacić bloga o pewien dodatek oferowany przez wymieniony wyżej serwis(dot. aktualnie wykonywanych przeze mnie czynności), zmuszony byłem zainstalować go w postaci flasha na stronie. Niestety, nie przepadam za "flashowymi bajerami" i tym samym postanowiłem stworzyć coś nowego, co odpowiadałoby moim potrzebom :) Z pomocą przyszło mi API twittera, php oraz JavaScript(prototype, script.aculo.us - pliki: scriptaculous.js, effects.js).
Czytaj dalej »
Po kilku miesiącach oczekiwania wypuszczam nową wersję SmallGallery v0.3. Co zostało zmienione/poprawione w najnowszej wersji?
Czytaj dalej »
Ponad tydzień temu postanowiłem sprawdzić odporność polskich stron na atak typu "path traversal" (jest to atak polegający na dostaniu się do pliku lub katalogu na serwerze normalnie niedostępnego) oraz na atak związany z dołączaniem(includowaniem) plików ze stron zewnętrznych. O dziwo jeszcze dziś, kiedy tak wiele mówi się o zabezpieczeniach serwerowych oraz środowiska aplikacji(np. skryptów php), zdarzają się witryny, które wręcz krzyczą "zhakuj mnie". Agresor, dzięki błędom wykorzystującym polecenie include(ew. require) ma możliwość inegerencji w strukturę plików serwera, co w rezultacie może doprowadzić do pobrania pliku /etc/passwd lub podmianę strony głównej witryny. Z praktycznego punktu widzenia programowania skryptów php wystarczy kilka linijek aby zabezpieczyć się przed tego typu błędami.
Czytaj dalej »
Mając chwilę czasu pomiędzy egzaminami(całe 9 dni) zmierzyłem się z instalacją najnowszego php(z obsługą postgresql) oraz samego postgresa :) Przy okazji zainstalowałem jeszcze PgAdmin3 oraz PhpPgAdmin. Całość hula jak się patrzy :) A wszystko to na moim cudownym Slackware 11. Teraz mogę się wziąć ostro za naukę pg. Z tego co widzę to możliwości tego systemu baz danych są ogromne.
PS. może jestem dziwny, ale uwielbiam pracę ze źródłami :D
Jakieś pół roku temu napisałem bardzo prostą przeglądarkę/galerię plików graficznych. Całość napisana w php + smarty + lightbox ;)
Co prawda nie pozwala ona na opis obrazków czy nawet nadawanie im tytułów, ale jeśli nie potrzebujemy niczego wielkiego to spełnia swą rolę doskonale :) Poza tym nie został w niej zaimplementowany żaden panel administracyjny, ale nie ma najmniejszego problemu w dodaniu takiej możliwości. Być może nadal będę ją rozwijał, ale to zależy w głównej mierze od zapotrzebowania użytkowników. Poprzednią wersję - jeszcze prostszą(była na www.hotscripts.pl) ściągnęło ok. 500 osób ;)
Jeśli chodzi o konfigurację, to wystarczy zmienić w pliku class_system.php 5 i 43 linijkę dostosowując katalogi do swoich potrzeb, czyli:
5: public $prefix = './gallery_images/';
43: $dest_path = 'c:/xampp/htdocs/projects/gallery/gallery_images/'.$category;
W linuksie należy dodatkowo nadać chmod 755 na katalog z naszymi zdjęciami, domyślnie "gallery_images"
Jeśli ktoś z was ściągnie i użyje tego skryptu proszę o komentarze :)
Przykład działania: http://citysat.com.pl/~snipe/gallery/
Źródła: smallgallery.zip
Książkę PHP5. Profesjonalne tworzenie oprogramowania (autor: Sebastian Bergmann) czyta się dość ciężko, ale to raczej zrozumiałe ponieważ poruszane są w niej dość ciężkie problemy jeśli chodzi o PHP. Całość przeznaczona została jak wskazuje tytuł dla profesjonalistów, ludzi którzy spędzili wiele godzin na programowaniu w PHP.
Oprócz opisu nowych zagadnień jakie pojawiły się wraz z 5 wersją PHP, czyli implementacji bazy danych za pomocą MySQLi, obsługi XML(SimpleXML, SAX oraz Document Object Model), transformacji XSLT oraz sposobu użycia technologii SOAP opisano również wzorce projektowe(wzorce konstrukcyjne, strukturalne oraz zachowań) i ich stosowanie. Pokazano również możliwości Creole oraz Propel i ich wykorzystanie podczas pracy z bazami danych. Dość ciekawe jest również opisane dziedziczenie i stosowanie iteratorów w swoich klasach. Autor zaserwował nam również podstawy tworzenia dokumentacji oraz diagramów UML.
Jedyne zarzuty jakie mogę mieć w stosunku do polskiej edycji tej książki to brak konsekwencji tłumacza podczas tłumaczenia kodu skryptów. Raz stosuje on angielską nazwę zmiennej, innym razem zaś polską. Poza tym zdarzają się czasami literówki, które jednak nie są zbyt istotne.
Książkę mogę polecić komuś kto chce pogłębić swoją wiedzę na temat PHP a przy okazji poznać kilka ciekawych rozwiązań i możliwości jakie daje nam wersja 5 popularnego języka programowania jakim jest PHP.
Moja ocena(skala 1-6): 4-
Wczoraj byłem na wykładzie organizowanym przez SLUG(Śląską Grupę Użytkowników Linuksa). Temat był dość ciekawy, dotyczył rozproszonych systemów baz danych PostgreSQL. Pan Adam Buraczewski dość fajnie i przejrzyście przedstawił problem replikacji, transakcji i współdziałania wielu serwerów baz danych.
Wykład dość długi bo trwał ok 3h, ale w porównaniu z niektórymi jakie mam na uczelni był naprawdę ok :) Od dziś zamierzam zagłębić moją wiedzę dot. współpracy wielu serwerów baz danych Posgresa oraz spróbować zrobić to samo przy pomocy baz danych MySQL. Co do wykładów organizowanych przez SLUG czekam na ich ciąg dalszy:)
31 grudnia, 2006
Napisane w: Książka,
PHP/SQL
(0)
Otagowane:
flash,
gd,
helion,
książka,
mysql,
pdf,
pear,
pear:db,
php,
php almanach,
sqlite,
Kilka ostatnich dni poświęciłem na przeczytanie książki "PHP ALMANACH" (autor: Paul Hudson) wydawnictwa O'Reilly dystrybuowanej przez wszystkim znany Helion :) Książkę mogę polecić komuś kto zna ogólną składnię języka PHP, ale chciałby pogłębić swoją wiedzę. Na samym początku jest krótkie wprowadzenie do języka, jego instalacja oraz konfiguracja. Autor poświęcił również chwilę na omówienie pakietu PEAR. Następnie znajdziemy opisy konstrukcji oraz funkcji w php. Zapoznamy się z programowaniem obiektowym, formularzami html oraz z cookies i sesją. Książka przedstawia również tematy bezpieczeństwa oraz optymalizacji(np. temat buforowania danych wyjściowych oraz szyfrowanie). Każda książka o tej tematyce powinna zawierać informacje o plikach czy połączeniu z bazą danych, co także i w tej pozycji ma miejsce. Krótko i rzeczowo omówiono obsługę MySQL, SQLite oraz PEAR:DB. Konstrukcja wyrażeń regularnych nie powinna być już nam obca, ponieważ w dość prosty i przystępny sposób opisano tu funkcje PCRE(niestety brak znanych wszystkim funkcji POSIX). Dla ciekawskich dodano przykłady operacji na obrazkach(biblioteka gd) oraz sposób tworzenia plików pdf i flash. Interesującym tematem jest opis wdrożenia w PHP standardów XML i XSLT. Podjęto również temat przenośności i dostępności naszych skryptów na różnych platformach systemowych. Na koniec możemy przeczytać kilka uwag na temat debugowania oraz wydajności.
Ogólnie książka jest dla średniozaawansowanych programistów php. Porusza tematy proste, ale również bardziej skomplikowane. Nie znajdziemy tutaj tysiąca skryptów, co według mnie mogłoby w prosty i obrazowy sposób pokazać wykorzystanie poznanych funkcji. Książką powinni się zainteresować ludzie, których interesują tematy wydajności, testowania, optymalizacji oprogramowania, oraz sposobów wykorzystania php na potrzeby tworzenia plików flash, pdf a także grafiki i jej obróbki.
Moja ocena(skala 1-6): 4
Mając cały dzień dla siebie "walczyłem" dzisiaj z xml'em pod php :) Jakoś nigdy nie bawiłem się nim(mając ogólną wiedzę na ten temat) bo nie było mi to potrzebne. W kilka godzin opanowałem całość. Kto by pomyślał, że to może być tak proste? A wszystko przy pomocy SimpleXML :) Przy okazji nauczyłem się także za pomocą DOMDocument połączyć xml z xsl co daje wiele możliwości jeśli chodzi o operowanie na wyglądzie i danych. Po przetestowaniu wszystkiego postanowiłem, że stworzę bazę pracowników opartą o xml z całą potrzebną obsługą. Jak tylko skończę wrzucę tu kod źródłowy.
Dawno, dawno temu napisałem skrypt wysyłania losowych smsów do sieci Plusa o określonej godzinie. Znalazłem go dzisiaj i upubliczniam, może komuś się przyda. Można np. wysłać romantyczne wiadomości swojej dziewczynie ;)
Co do samego skryptu(napisany w php), to jest on bajecznie prosty, więc nie będę się nad nim rozwodził. Jeśli chodzi zaś o sam proces automatycznego wysyłania, to próbowałem to kiedyś zrobić za pomocą windowsowskiego harmonogramu zadań, ale nie za bardzo chciało działać :P znalazłem więc w sieci pycron. Pliki konfiguracyjne są takie same jak w standardowym cronie, co jest plusem :)
Skrypt php uruchamiamy: php.exe -f nazwaSkryptu.php
Źródło skryptu: http://snipeworld.com/files/blog/scripts/sms/sms.phps