Přejít na hlavní obsah

Jak stáhnout obrázek z databáze MySQL pomocí PHP

  • Leoš Vacek
  • Rady

Existuje několik způsobů, jak tento problém vyřešit, ale jedním z nejpopulárnějších je použití jazyka PHP. Nejprve je třeba zajistit, aby byly obrázky správně uloženy v databázi a příslušná tabulka byla vytvořena pomocí příslušných polí (např. pole typu BLOB pro ukládání obrazových dat).

Připojení k databázi MySQL pomocí PHP

Chcete-li se připojit k databázi MySQL pomocí PHP, musíte použít funkci mysqli_connect . Tato funkce má čtyři možnosti: název serveru, uživatelské jméno, heslo a název databáze.

PHP kódPopis
$conn = mysqli_connect("localhost", "root", "password", "mydatabase"); Připojení k místnímu serveru MySQL s uživatelským jménem "root", heslem" password "a databází"mydatabase".

Pokud je připojení úspěšné, proměnná $conn bude obsahovat objekt připojení k databázi.

Po připojení lze k interakci s databází použít další funkce, jako je mysqli_query k provádění dotazů SQL nebo mysqli_close k uzavření připojení.

Příprava databáze MySQL

Krok 1: Vytvořte tabulku v databázi MySQL, která bude ukládat informace o obrázcích.

Krok 2: Určete strukturu tabulky, která obsahuje požadovaná pole, jako je ID, název souboru, typ souboru a samotný obrázek (jako data BLOB).

Krok 3: Vyplňte tabulku daty nahráním obrázků do pole s typem BLOB. K nahrání obrázků do databáze můžete použít skript PHP.

Krok 4: Ujistěte se, že máte připojení k databázi MySQL ve vašem PHP skriptu. Zkontrolujte správné nastavení pro připojení k databázi.

Krok 5: Napište skript PHP pro extrakci obrázku z databáze. Pomocí příslušných požadavků SQL vyberte obrázek na základě jeho ID a uložte jej do proměnné.

Krok 6: Zobrazte obrázek na webové stránce pomocí značky a označování atributem src hodnota proměnné obsahující obrázek.

Připojení PHP k databázi MySQL

Chcete-li pracovat s databází MySQL, musíte vytvořit spojení mezi PHP a MySQL serverem. K tomu slouží funkce mysqli_connect (). Tato funkce přenáší data pro připojení, jako je název hostitele, uživatelské jméno, heslo a název databáze.

Příklad kódu pro připojení PHP k databázi MySQL:

echo "Успешное подключение к базе данных MySQL";?>

Chcete-li ukončit připojení k databázi MySQL, měli byste použít funkci mysqli_close() . Například:

Tento kód uzavře spojení s databází MySQL, uvolní zdroje a umožní ostatním uživatelům přístup do databáze.

Je důležité si uvědomit, že před použitím funkcí pro práci s databází MySQL v PHP je nutné zajistit, aby bylo nainstalováno a aktivováno rozšíření mysqli pro PHP. K tomu můžete použít funkci phpinfo () nebo zkontrolovat nastavení souboru PHP.

Vzorek z databáze MySQL v PHP

PHP používá k provádění dotazů na databázi MySQL rozšíření mysqli nebo chop. Chcete-li získat výsledky dotazu, musíte postupovat podle následujících kroků:

  1. Navázat spojení s databází a vybrat požadovanou databázi.
  2. Vytvořte SQL požadavek, který zahrnuje požadované podmínky a operátory.
  3. Proveďte dotaz pomocí funkcí mysqli_query () nebo chop::query ().
  4. Zpracujte výsledky dotazu a zobrazte je na obrazovce.

Příklad kódu pro vzorkování dat z tabulky "users" pomocí mysqli:

connect_error) connect_error);>// SQL-запрос$sql = "SELECT * FROM users";// Выполнение запроса$result = $conn->query($sql);// Проверка наличия результатовif ($result->num_rows > 0) fetch_assoc()) ";>> else // Закрытие соединения$conn->close();?>

Toto je jednoduchý příklad vzorkování dat z databáze MySQL do PHP. Výsledky dotazu lze formátovat pomocí značek HTML nebo uložit do proměnných pro další zpracování.

Uložení obrázku do databáze MySQL

Chcete-li uložit obrázek do databáze MySQL pomocí PHP, musíte provést několik kroků.

  1. Vytvořte tabulku v databázi, ve které bude obrázek uložen. Zadejte typ pole pro obrázek-BLOB (binární data).
  2. Pomocí formuláře pro stažení získáte obrázek od uživatele. Pro správný přenos souboru zadejte atribut enctype="multipart/form-data".
  3. V PHP, po odeslání formuláře, získejte obrázek pomocí proměnné $_FILES['file']['tmp_name'].
  4. Otevřete připojení k databázi MySQL a podle požadavku INSERT uložte obrázek do tabulky. Ke čtení obsahu obrázku do proměnné můžete použít funkci file_get_contents ().
  5. Ukončete připojení k databázi MySQL.

Nyní je obrázek úspěšně uložen v databázi MySQL! Tyto informace můžete použít k dalšímu zpracování obrázku nebo jeho zobrazení na webové stránce.

Extrahujte obrázek z databáze MySQL

  1. Navázat spojení s databází MySQL. K tomu můžeme použít funkci mysqli_connect () zadáním požadovaných možností připojení, jako je hostitel, uživatelské jméno, heslo a název databáze.
  2. Proveďte požadavek na databázi pro extrakci obrázku. K provedení SQL dotazu do databáze můžeme použít funkci mysqli_query (). Dotaz SQL musí obsahovat příkaz pro vzorkování obrázku z tabulky.
  3. Extrahujte data z výsledku žádosti. K extrakci asociativního pole s obrazovými daty můžeme použít funkci mysqli_fetch_assoc ().
  4. Zobrazit obrázek na webové stránce. Můžeme použít značku s atributem src určujícím cestu k obrázku.

Zobrazení obrázku z databáze MySQL na webové stránce

Chcete-li zobrazit obrázek z databáze MySQL na webové stránce, musíte postupovat podle následujících kroků:

  1. Uložte obrázek do databáze MySQL. Chcete-li to provést, vytvořte sloupec v tabulce pomocí datového typu BLOB (Binary Large Object).
  2. Napište skript PHP, který extrahuje obrázek z databáze.
  3. Pomocí značky HTML zobrazte obrázek na webové stránce.

1. Uložte obrázek do databáze MySQL:

Předpokládejme, že již máte ve své databázi tabulku s názvem "images". Chcete-li přidat obrázek do tabulky, proveďte následující dotaz SQL:

INSERT INTO images (image_data) VALUES ('$image_data');

Kde "$image_data " je obsah obrázku ve formátu BLOB. V PHP, můžete použít funkci mysqli_real_escape_string () pro správné zpracování obrazových dat.

2. Napište PHP skript:

Vytvořte soubor s příponou."php " a napište následující kód:

$mysql_hostname = 'hostname';$mysql_username = 'username';$mysql_password = 'password';$mysql_database = 'database';$connection = new mysqli($mysql_hostname, $mysql_username, $mysql_password, $mysql_database);if ($connection->connect_error) connect_error);>$sql = "SELECT image_data FROM images WHERE image_id = 123";$result = $connection->query($sql);if ($result->num_rows > 0) fetch_assoc();$image_data = $row['image_data'];header("Content-type: image/jpeg");echo $image_data;>$connection->close();

3. Použijte značku HTML :

Vložte následující kód na požadované místo Vaší webové stránky:

Изображение

Kde " image.php " je cesta k PHP skriptu, který jsme vytvořili ve druhém kroku. Nyní, když otevřete webovou stránku, obrázek se automaticky načte a zobrazí na stránce.