Pakowanie i pobieranie ZIP w Laravel


14 stycznia 2019 / Michał Kortas


Pracuję ostatnio trochę z Laravelem, zatem w przyszłości może powstać kilka krótkich wpisów na ten temat. Dzisiaj pierwsza rzecz, prosta ale często przydatna – pakowanie plików do ZIP z opcjonalnym pobieraniem archiwum.

Tworzenie archiwum ZIP

Skorzystamy z klasy ZipArchive.

Zaczniemy od krótkiej deklaracji ścieżki i nazwy nowego archiwum ZIP.

Tworzymy nowy obiekt klasy ZipArchive.

Sprawdzamy, czy archiwum może być utworzone we wskazanej ścieżce. Tutaj za chwilę będziemy pakować pliki.

Pakowanie plików

Sprawdzamy, czy plik istnieje, a następnie dorzucamy do do paczki. Opcjonalnie możemy przypisać mu nową nazwę.

Pobieranie archiwum ZIP

Przekazujemy ścieżkę pliku, jego nazwę…

Naszym nagłówkiem będzie:

Po wykonaniu skryptu przeglądarka uruchomi pobieranie.

Zapisywanie pliku ZIP

Podsumowanie

To w zasadzie wszystko. Pełny kod możecie podejrzeć na moim GitHubie.


Tagi:


Jak wymusić przepisywanie URL na małe litery w Apache za pomocą .htaccess?


21 marca 2017 / Michał Kortas


W jednym z projektów PHP, które prowadzę, pojawiła się pilna i nagła potrzeba wymuszenia małych liter dla wszystkich adresów URL. Jako, że oczywiście wszystko musi być skończone „na wczoraj”, postanowiłem zrobić to za pomocą pliku .htaccess. Poniżej znajdziesz rozwiązanie, które wykorzystałem. Czytaj dalej Jak wymusić przepisywanie URL na małe litery w Apache za pomocą .htaccess?


Tagi:


#2 Tworzenie wtyczki WordPress. Haki akcji


20 lutego 2016 / Michał Kortas


To tylko jeden wpis z serii Tworzenie wtyczki WordPress. Obecne i przyszłe artykuły dostępne będą pod specjalnym tagiem Wtyczka WordPress.

Kontynuując mój poprzedni wpis na temat tworzenia wtyczek do WordPressa, postaram się zgrabnie przejść do omówienia haków akcji. Wzorcową wtyczką, którą dzisiaj stworzysz, będzie prosty moduł umieszczania kodu Google Analitics, z uwzględnieniem kodu użytkownika podawanego w ustawieniach wtyczki. Brzmi tajemniczo? Nie przejmuj się i czytaj dalej! ;-)

Czytaj dalej #2 Tworzenie wtyczki WordPress. Haki akcji


Tagi:


#1 Tworzenie wtyczki WordPress. Pierwsze kroki


10 lutego 2016 / Michał Kortas


To tylko jeden wpis z serii Tworzenie wtyczki WordPress. Obecne i przyszłe artykuły dostępne będą pod specjalnym tagiem Wtyczka WordPress.

Wtyczki WordPressa to narzędzia, pozwalające zrobić z tym systemem dosłownie wszystko. Dzięki nim możesz dodać dowolną funkcję, rozszerzającą podstawowe zasady działania Twojej witryny. Istnieje jednak jedno pytania, które powinieneś sobie zadać przed rozpoczęciem tworzenia własnego, wymyślnego pluginu.

Kursy wideo WordPress

Czy w bogatym i ogólnodostępnym repozytorium WordPressa nie ma wtyczki, która jest mi potrzebna?

Jest wielce prawdopodobne, że właśnie w tym miejscu możesz zakończyć czytanie niniejszego wpisu. ;-) Czytaj dalej #1 Tworzenie wtyczki WordPress. Pierwsze kroki


Tagi:


Instalacja phpMyAdmin na Ubuntu 14.04


30 kwietnia 2014 / Michał Załęcki


ubuntu-phpmyadminNajpopularniejszym narzędziem do pracy z bazą danych (oczywiście poza samym mysql, który dostępny jest z wiersza poleceń) jest phpMyAdmin. Jest oprogramowanie służące do łatwego zarządzania bazą danych MySQL, napisane w języku PHP i wydawane na licencji GPL rozwijane od 1998 r.

W poprzednim artykule, omówiłem zagadnienie związane z instalacją serwera Apache oraz narzędzi potrzebnych do uruchomiania na serwerze witryny opartej o WordPress. Jeden z naszych czytelników w komentarzach poruszył kwestię phpMyAdmin. Pierwotnie miałem uzupełnić tylko poprzedni artykuł, ale ostatecznie będzie to osobny wpis, w którym rozwiążemy dodatkowo dwa problemy, którymi wypadałoby się zająć już po instalacji phpMyAdmin.

Instalacja

phpmyadmin-ubuntu01

Podczas instalacji pakietu uruchomi się kreator. Spacją zaznaczamy serwer do automatycznej konfiguracji. Następnie podajamy wymagane hasła. Po zakończonej instalacji serwera automatycznie się zrestartuje, a dostęp do phpMyAdmin powinien być możliwy pod adresem: http://localhost/phpmyadmin/. Logujemy się za pomocą konta root i hasła podanego podczas konfiguracji (nie hasła do konta root w systemie).

Brak rozszerzenia mcrypt

Po zalogowaniu widzimy jednak ostrzeżenie o braku rozszerzenia mcrypt. Jego instalacja, a raczej próba instalacji, nie przyniesie żadnego rezultatu. Zostaniemy poinformowani o tym, że pakiet już jest zainstalowany. Jak to możliwe? Jest to popularny problem wśród początkujących, który wprowadza ich w niemałe zakłopotanie. Aby rozszerzenie mcrypt było dostępne musimy utworzyć symlinka (dowiązanie symboliczne, coś na wzór skrótu w systemie Windows).

Gdy serwer już się zrestartuje to rozszerzenie mcrypt powinno już być dostępne.

Zmiana domyślnego adresu

Zmiana domyślnego adresu pod którym uzyskamy dostęp do phpMyAdmin jest kluczowa w przypadku serwera dostępnego „z zewnątrz” np. serwera produkcyjnego, ale też warto o niej pomyśleć gdy posiadamy zewnętrzny adres IP. Jest to przydatne zabezpieczenie ponieważ dość poważnie komplikuje wykonanie ataku typu brute force oraz znacząco ułatwia wykrycie prób takiego ataku poprzez szybka analizę logów serwera.

W celu zmiany domyślnego adresu phpMyAdmin należy zmienić alias w jednym z plików konfiguracyjnych.

phpmyadmin-ubuntu10

phpmyadmin-ubuntu11

Zmieniamy:

Na:

phpmyadmin-ubuntu12

Zapisujemy plik i restartujemy serwer.

Od tego momentu panel phpMyAdmin dostępny będzie pod nowym adresem.


Tagi:


Instalacja serwera WWW, PHP5 i MYSQL na Ubuntu 14.04


22 kwietnia 2014 / Michał Załęcki


ubuntu-apache-whiteNowa wersja najpopularniejszej dystrybucji Linux, Ubuntu, doczekała się kolejnej wersji LTS (Long Time Support) – 14.04. Ubuntu nie jest idealną dystrybucją do postawienia serwera produkcyjnego ze względu na dość kiepską stabilność jak na Linuksa, choć w samej 14.04 sytuacja uległa poprawie. Mimo wszystko nadal istnieje przepaść między Ubuntu, a Debianem w wersji testowej, a co dopiero stabilnej. Jednak ze względu na społeczność i działania Canonical Ltd. Ubuntu stało się Linuksem dla mas i obecnie jest to najpopularniejsza dystrybucja na desktopach, więc na jej przykładzie pokażę jak zainstalować serwer lokalny i w ramach jego testów uruchomimy na nim jeszcze świeżego WordPressa 3.9. Cały proces będzie niemal identyczny w całej gałęzi Debiana. Jedyne różnice prawdopodobnie będą dotyczyły tylko lokalizacji pliku konfiguracyjnego serwera Apache.

Instalacja potrzebnych pakietów

Zanim zainstalujemy paczki serwera, php itd. wspomnę o oprogramowaniu z którego będziemy korzystać. Aptitude to nakładka na APT, a Vim to edytor tekstu, to wszystko co musisz wiedzieć. Nie są one domyślnie dostarczane z Ubuntu, ale w poleceniach będziesz mógł użyć ich „odpowiedników” apt-get i nano.

Skoro już jesteśmy wyposażeni w te narzędzia (lub nie, wtedy pamiętaj o zamianie aptitude na apt-get i vim na nano) możemy przejść do instalacji serwera Apache2, MySQL oraz PHP5 razem z powszechnie wykorzystywaną biblioteką GD.

Podczas instalacji podajemy hasło dla użytkownika root dla MySQL i to by było w sumie na tyle. Proste, prawda?

Utworzymy jeszcze plik PHP z funkcja phpinfo w katalogu /var/www/html, aby bliżej przyjrzeć się konfiguracji serwera.

instalacja-www-apache2-php5-mysql-ubuntu1404-06

instalacja-www-apache2-php5-mysql-ubuntu1404-07

instalacja-www-apache2-php5-mysql-ubuntu1404-08

Konfiguracja i instalacja WordPress

Po pobraniu odpowiedniego archiwum z WordPressem możemy je wypakować do odpowiedniego katalogu. Z katalogu w którym znajduje się archiwum wykonujemy polecenie:

instalacja-www-apache2-php5-mysql-ubuntu1404-10

instalacja-www-apache2-php5-mysql-ubuntu1404-11

W przeglądarce wpisujemy adres stronty i powinien ukazać się nam instalator. Przyszedł czas na stworzenie bazy danych, w której znajdą się tabele WordPressa. Logujemy się na konto roota:

Następnie podajemy hasło i tworzymy bazę danych:

instalacja-www-apache2-php5-mysql-ubuntu1404-13

Wracamy do instalatora. W przypadku produkcyjnego serwera, a nawet w przypadku gdy mamy publiczny adres IP, warto zadbać o lepsze hasło oraz inny niż domyślny prefiks dla tabel. WordPress nie poradzi sobie z utworzeniem pliku wp-config.php z powodu braku uprawnień.

instalacja-www-apache2-php5-mysql-ubuntu1404-15

W przypadku serwera lokalnego, do którego tylko my mamy dostęp, możemy pozwolić sobie na nadanie całemu katalogowi najwyższych uprawnień. Jest to jednak niedopuszczalne w wersji produkcyjnej serwera! W tym celu przechodzimy do katalogu /var/www/html i ustawiamy uprawnienia do odczytu i zapisu oraz wykonania przez wszystkich:

instalacja-www-apache2-php5-mysql-ubuntu1404-16

Wracamy do instalatora. Po zmianie odnośników na przyjazne użytkownikowi i wyszukiwarkom natrafiamy na kolejny problem. Przepisywanie odnośników jest wyłączone. Po włączeniu mod_rewrite należy zrestartować serwer.

Pozostało jeszcze zezwolenie na przepisywanie odnośników. Interesująca nas konfiguracja znajduje się w katalogu /etc/apache2. Plik edytujemy poleceniem:

Ustawiamy:

instalacja-www-apache2-php5-mysql-ubuntu1404-22

instalacja-www-apache2-php5-mysql-ubuntu1404-21

instalacja-www-apache2-php5-mysql-ubuntu1404-23

Przepisywanie linków powinno już działać. W taki sposób postawiliśmy i wstępnie skonfigurowaliśmy lokalny serwer WWW, na którym z powodzeniem możemy testować nasze witryny.


Tagi:


Generowanie miniaturek za pomocą przygotowanego skryptu PHP


24 lipca 2012 / Michał Kortas


Pracuję właśnie nad jednym, sporym projektem, który wymusił na mnie przygotowanie skryptu tworzącego miniaturkę zdjęcia. Pomijając cały proces analizy kodu HTML, w poszukiwaniu ścieżki do odpowiedniego pliku, cała sprawa zamykała się na odnalezieniu niezbyt skomplikowanej klasy PHP, odpowiedzialnej za kadrowanie zdjęć. Najbardziej do gustu przypadła mi ta o nazwie PHPThumb. Paczka do pobrania znajduje się po adresem www.phpthumb.gxdlabs.com – już teraz ściągnijmy ją sobie na dysk.

Czytaj dalej Generowanie miniaturek za pomocą przygotowanego skryptu PHP



Rozpakowywanie archiwum ZIP za pomocą skryptu na naszym serwerze


20 sierpnia 2011 / Michał Kortas


Czasem zachodzi potrzeba wgrania na serwer sporej ilości plików, np. kilkudziesięciu zdjęć, pakietu instalacyjnego dla WordPress’a bądź systemu Joomla. Jak wiemy, bardzo łatwo można zrobić to za pomocą każdego klienta FTP, jednak sam proces przesyłania, czasem kilku, kilku tysięcy plików, trwa znacznie dłużej, niż wykonanie jednego polecenia, które wyśle nam spakowane pliki w archiwum ZIP.

Czytaj dalej Rozpakowywanie archiwum ZIP za pomocą skryptu na naszym serwerze



Usuwanie katalogu wraz ze wszystkimi plikami i podkatalogami


19 sierpnia 2011 / Michał Kortas


Ostatnimi czasy, pisząc pewien skrypt PHP do obsługi plików na serwerze, potrzebowałem narzędzia, które usunie wskazany przeze mnie katalog. Sprawa nie byłaby trudna, gdyby chodziło o skasowanie folderu pustego (niezawierającego wewnątrz żadnych plików i innych podkatalogów). W tym celu wystarczyłoby użyć następującej funkcji:

Czytaj dalej Usuwanie katalogu wraz ze wszystkimi plikami i podkatalogami