Posty

[PHP] Jak zrobić system tagów?

System tagów to przydatne rozwiązanie, które pozwala na kategoryzację i indeksowanie treści strony internetowej. Dzięki zastosowaniu systemu tagów, użytkownicy mogą łatwo znaleźć interesujące ich treści oraz przeglądać je według określonych kategorii. W tym artykule omówię, jak stworzyć prosty system tagów w PHP, który będzie skuteczny i łatwy w obsłudze. Na potrzeby tego wpisu załóżmy, że chcemy zrobić tagi do prostej strony z artykułami. Baza danych Pierwszym krokiem w tworzeniu systemu tagów jest zaprojektowanie odpowiedniej struktury bazy danych. Baza danych będzie przechowywać informacje o tagach oraz powiązania między tagami a artykułami. Schemat bazy powinien wyglądać tak: Tabela "tags": - id (unikalny identyfikator) - name (nazwa tagu) Tabela "articles": - id (unikalny identyfikator) - title (tytuł artykułu) - content (treść artykułu) Tabela "article_tags": - article_id (klucz obcy do tabeli "articles") - tag_id (klucz ob

[PHP|Laravel] Logowanie OAuth2

Siemka! Miło, że wpadłeś na mojego bloga. W tym wpisie będziemy ogarniać logowanie za pomocą OAuth2 do Twojej aplikacji. Laravel Passport Do stworzenia tego logowania będzie potrzebna biblioteka Laravel Passport , która posiada wsparcie dla OAuth2. Jeśli masz zainstalowaną tą bibliotekę, przejdź do następnego kroku. Jeśli nie zainstalowałeś jeszcze Laravel Passport, przejdź do wpisu Instalacja Laravel Passport . Migracja W celu utworzenia niezbędnych tabel do przechowywania klientów OAuth2 i tokenów dostępu, uruchom emigrację. Wykonaj następujące polecenie: php artisan migrate . Klucze szyfrowania W tym kroku wygenerujemy klucze Encryption keys i Personal access client niezbędne do działania uwierzytelniania i autoryzacji Laravel Passport. Wykonaj polecenie: php artisan passport:install . Dodanie traita HasApiTokens Jeśli wykonałeś już powyższe kroki, możesz teraz dodać traita HasApiTokens do modelu uzytkownika - User , który umożliwi użytkownikowi generowanie tokenów dostęp

[HTML] Jak zrobić suwak?

W HTML5 nie ma problemu z tworzeniem suwaków, a co więcej nie trzeba używać do tego żadnych bibliotek JavaScript czy CSS. W celu utworzenia suwaka, posłużyć się należy znacznikiem input range . Przykład 1 <label for="volume">Głośność</label> <input type="range" id="volume" name="volume" min="0" max="100" value="50" step="10" /> Głośność Jak widzisz, stworzenie suwaka jest bardzo proste. W przykładzie powyżej użyte zostały dodatkowe atrybuty: min, max, step i value. W atrybucie min ustawiamy minimalną wartość dla suwaka, w atrybucie max - wiadomo. Atrybut step zawiera wartość kroków o jakie ma przeskakiwać suwak. Chyba o value nie muszę pisać. Oczywiście atrybuty te są opcjonalne i można ich pominąć. W powyższym przykładzie suwak będzie przesuwał się po linii poziomej, ale można również ustawić go w pozycję pionową. Aby to zrobić, należy użyć następującej reguły CSS: input[

[PHP] Jak zapisać obraz do tablicy?

Czy da się zapisać obraz do tablicy? Przecież jest to plik binarny. Oczywiście, że da się to zrobić i nie jest to nic trudnego. Obraz w tablicy zapisujemy jako wartości RGB kolorów pikseli wraz z ich pozycjami. Przykład <?php // Wczytywanie obrazu $image = imagecreatefromjpeg('path/to/image.jpg'); // Pobranie szerokości i wysokości obrazu $width = imagesx($image); $height = imagesy($image); // Tworzymy tablicę dla obrazu $image_array = []; // Iterowanie po każdym pikselu i zapisywanie jego wartości do tablicy for($y = 0; $y < $height; $y++) { for($x = 0; $x < $width; $x++) { $rgb = imagecolorat($image, $x, $y); $r = ($rgb >> 16) & 0xFF; $g = ($rgb >> 8) & 0xFF; $b = $rgb & 0xFF; $image_array[$y][$x] = [$r, $g, $b]; } } // Zwalnianie pamięci imagedestroy($image); W powyższym przykładzie, każdy piksel obrazu jest zapisywany jako trójelementowa tablica [R, G, B].

[PHP] Jak podzielić tablicę?

PHP ma wbudowaną funkcję do dzielenia tablic, a jest nią array_chunk . Funkcji array_chunk musimy przekazać dwa wymagane argumenty: ( array ) $array - tablicę do podziału oraz ( int ) $length - ilość kawałków. Trzecim argumentem, który można przekazać jest ( bool ) $preserve_keys - zachowanie lub przenumerowanie kluczy. Domyślną wartością jest false , czyli indeksy nowych tablic (kawałków) będą numerowane kolejno od 0. Funkcja array_chunk dzieli tablicę na równe części. Przykład użycia 1 <?php $big_array = ['serce', 'miłość', 'przyjaźń', 'pasja', 'tęsknota', 'marzenia', 'nadzieja', 'samotność', 'piękno', 'magia', 'życie', 'szczęście', 'smutek', 'przeznaczenie', 'wolność', 'odwaga', 'piękność', 'sen', 'przygoda', 'inspiracja'] ; // Tablica $new_array będzie zawierała 4 tablice po 5 elementów. $new_array = array_chunk($

Najciekawsze rozszerzenia domen

W tym wpisie publikuję listę najciekawszych według mnie rozszerzeń nazw domen. .tech - np. dla firm technologicznych, startupów lub blogów o tematyce technologicznej. .top - np. dla różnego rodzaju rankingów. .art - np. dla artystów, galerii sztuk, blogów artystycznych. .best - np. dla stron z recenzjami, rankingami, zestawieniami najlepszych produktów lub usług. .blog - np. dla blogerów, pisarzy, dziennikarzy, którzy chcą prowadzić swoje własne blogi. .contact - np. dla stron kontaktowych, formularzy kontaktowych, wizytówek firm. .dev - np. dla programistów, firm zajmujących się tworzeniem oprogramowania, programistycznych blogów. .fail - np. dla stron, które prezentują porażki, błędy, niepowodzenia. .fun - np. dla stron z zabawnymi treściami, memami, grami. .group - np. dla grup społecznościowych, stowarzyszeń, klubów. .help - np. dla stron oferujących pomoc, wsparcie, porady. .in - np. dla stron osobistych, blogów, portfolio. .life

[CSS] Jak zrobić migające tło?

Z tego wpisu dowiesz się jak zrobić animowane migające tło na stronie. Aby zrobić migające tło, tzn. zmieniające kolor z jednego na drugi, posłużyć się trzeba regułą tworzenia animacji - @keyframes Przykład W poniższym przykładzie definiujemy animację "blink" zmieniającą kolor tła z pomarańczowego na zielony. Następnie wywołujemy stworzoną animację dla znacznika body. Oczywiście kolory i prędkość animacji każdy sobie ustawi wedle swojego uznania. @keyframes blink { 0% { background-color: orange; } 50% { background-color: green; } 100% { background-color: orange; } } body { animation: blink 2s infinite; }

[JavaScript] Przechowywanie danych lokalnie przy użyciu localStorage

Wraz z rozwojem technologii internetowych, coraz częściej spotykamy się z potrzebą przechowywania danych po stronie klienta. W HTML5 został wprowadzony mechanizm localStorage , który umożliwia przechowywanie danych w przeglądarce użytkownika. W tym artykule przyjrzymy się bliżej temu mechanizmowi i przedstawimy praktyczny przykład jego użycia. LocalStorage to mechanizm, który umożliwia przechowywanie danych w przeglądarce internetowej. Dane zapisane przy użyciu localStorage są trwałe i dostępne nawet po zamknięciu przeglądarki. Możemy przechowywać różne rodzaje danych, takie jak tekst, liczby, obiekty JavaScript itp. Zapisywanie danych Aby zapisać dane przy użyciu localStorage, możemy skorzystać z metody setItem() . Przykładowo, jeśli chcemy zapisać jakiś kolor, możemy użyć poniższego kodu: localStorage.setItem('color', '#000000'); Odczytywanie danych Aby odczytać dane zapisane w localStorage, możemy skorzystać z metody getItem() . Kontynuując nasz przykład, odczy

[C#|.NET] Jak wczytać obraz i wyświetlić go w oknie - program

W dzisiejszym wpisie stworzymy prosty program w C#. Program na mieć za zadanie wczytać obraz ze zdalnego zasobu i wyświetlić go w oknie po środku ekranu. Poza kodem wczytania obrazka i wyświetlenia okna z nim, program ma wyłapywać wyjątki i wyświetlić komunikat w przypadku niepowodzenia. Klasy, z których będzie korzystał program to System , System.Net i System.Windows.Forms . Kod programu using System; using System.Drawing; using System.Net; using System.Windows.Forms; namespace Image Display { class Program { static void Main(string[] args) { // Adres URL obrazka string imageUrl = "https://www.example.com/obrazek.jpg"; try { // Wczytanie obrazka ze zdalnego serwera WebClient webClient = new WebClient(); byte[] imageData = webClient.DownloadData(imageUrl); Image image; using (var ms = new System.IO.MemoryStream(ima

[PHP] Generowanie plików PDF

PHP oferuje wiele gotowych rozwiązań, jednym z nich jest biblioteka do generowania plików PDF - FPDF . Przykład generowania PDF require('fpdf/fpdf.php'); class MyPDF extends FPDF { function Header() { // Definiowanie nagłówka $this->SetFont('Arial','B',14); $this->Cell(0,10,'Przykładowy nagłówek',0,1,'C'); } function Footer() { // Definiowanie stopki $this->SetY(-15); $this->SetFont('Arial','I',8); $this->Cell(0,10,'Strona '.$this->PageNo().'/{nb}',0,0,'C'); } function Content() { // Definiowanie treści $this->SetFont('Arial','',12); $this->Cell(0,10,'To jest treść mojego pliku PDF.',0,1); } } $pdf = new MyPDF(); $pdf->AliasNbPages(); $pdf->AddPage(); $pdf->Content(); $pdf->Output('exampl