Neděle , 22 Červen 2025
Domů Programování PHP PHP fotogalerie bez databáze
PHPProgramování

PHP fotogalerie bez databáze

blank
blank

Jednoduchý příklad PHP skriptu pro zobrazení obrázků z určité složky. Tento skript nepotřebuje databázi, protože přímo skenuje obsah složky a zobrazuje všechny soubory s příponou .jpg, .png nebo .gif. Skript umožňuje rovněž nahrání nového obrázku nebo fotografie a je podmíněno zadáním správného hesla. Nezapomeňte vytvořit složku /images/.

Zde je uveden kód, který můžete pojmenovat například názvem index.php

<?php
$dir = 'images/'; // Cesta k složce s obrázky
$password = '123456'; // Heslo pro nahrání souboru

// Kontrola, zda byl formulář odeslán
if(isset($_POST['submit'])) {
    if ($_POST['password'] == $password) { // Kontrola hesla
        $target_file = $dir . basename($_FILES["fileToUpload"]["name"]);
        $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

        // Kontrola, zda je soubor obrázek
        $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
        if($check !== false) {
            if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
                echo "Soubor ". htmlspecialchars( basename( $_FILES["fileToUpload"]["name"])). " byl nahrán.";
            } else {
                echo "Došlo k chybě při nahrávání souboru.";
            }
        } else {
            echo "Soubor není obrázek.";
        }
    } else {
        echo "Nesprávné heslo.";
    }
}

// Načtení všech souborů ve složce
$files = scandir($dir);

echo '<div class="gallery">';
foreach($files as $file) {
    // Kontrola, zda je soubor obrázek
    if(preg_match('/.jpg$|.png$|.gif$/i', $file)) {
        echo '<a href="'.$dir.$file.'"><img src="'.$dir.$file.'" alt="'.$file.'" width="200" height="200"></a>';
    }
}
echo '</div>';

?>

<form action="" method="post" enctype="multipart/form-data">
    Vyberte obrázek k nahrání:
    <input type="file" name="fileToUpload" id="fileToUpload">
    Zadejte heslo:
    <input type="password" name="password" id="password">
    <input type="submit" value="Nahrát obrázek" name="submit">
</form>

K zobrazení náhledů obrázků můžete využít HTML atribut „width“ a „height“ pro omezení rozměrů obrázků. Pokud chcete otevřít původní velikost obrázku po kliknutí na náhled, můžete obrázek umístit do odkazu, který odkazuje na obrázek.

V tomto kódu jsem nastavil rozměry obrázků na 200×200 pixelů, ale tyto hodnoty můžete změnit podle svých potřeb. Všimněte si, že obrázek je umístěn v odkazu (<a> tagu), takže když na něj uživatel klikne, otevře se obrázek v původní velikosti v nové záložce nebo okně prohlížeče. Pokud chcete, aby se obrázek otevřel v nové záložce, můžete do odkazu přidat atribut target="_blank".

Tento kód přidává do formuláře pro nahrání obrázku nové textové pole pro zadání hesla. Heslo je definováno na začátku skriptu jako proměnná $password. Před nahráním souboru kód ověří, zda zadané heslo odpovídá tomuto heslu. Pokud heslo nesouhlasí, kód zobrazí chybovou zprávu a soubor nebude nahrán.

Všimněte si, že tato metoda není bezpečná pro skutečné aplikace, kde je důležitá bezpečnost. Heslo je uloženo jako prostý text přímo v kódu, což by mohlo být snadno zneužito, pokud by někdo získal přístup k tomuto kódu.

Zanechte komentář

Napsat komentář

Související články

blank
ProgramováníStrojové učeníUmělá inteligence

Neuromorfní čipy vs. GPU/TPU

Top články Neuromorfní čipy vs. GPU/TPU 19. 6. 2025 Edge-AI v IoT:...

blank
ProgramováníPython

MIDI generator in Python

Description of the Python ScriptThis Python script generates a MIDI file based...

blank
PHPWordPress

AI Birthday Wishes Generator WordPress Plugin

The  AI Birthday Wishes Generator is a  WordPress plugin that allows users to generate personalized birthday wishes...

blank
PHPProgramováníWordPress

AI Song Maker WordPress Plugin

The  AI Song Maker is a  WordPress plugin that allows you to generate custom songs based on...