Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako vkladáte súbory do databázy pomocou PHP?

`` `php

// Databázové poverenia

$ serverName ="localhost";

$ username ="username";

$ heslo ="heslo";

$ dbname ="myDatabase";

// Vytvorte pripojenie

$ conn =new mysqli ($ servername, $ username, $ heslo, $ dbname);

// Skontrolujte pripojenie

if ($ conn-> connect_error) {

die ("Connection zlyhal:". $ conn-> connect_error);

}

// Podrobnosti o nahraní súboru

$ target_dir ="uploads/";

$ target_file =$ target_dir. basename ($ _ Files ["FileTouPload"] ["name"]);

$ uploadok =1;

$ imageFileType =strtolower (pathinfo ($ target_file, pathinfo_extension));

// Skontrolujte, či je obrazový súbor skutočným obrázkom alebo falošným obrázkom

if (isset ($ _ post ["subsety"])) {

$ check =getImagesize ($ _ Files ["FileTouPload"] ["tmp_name"]);

if ($ check! ==false) {

Echo "Súbor je obrázok -". $ šek ["mime"]. ".";

$ uploadok =1;

} else {

echo "Súbor nie je obraz.";

$ uploadok =0;

}

}

// Skontrolujte, či už súbor existuje

if (file_exists ($ target_file)) {

echo "prepáčte, súbor už existuje.";

$ uploadok =0;

}

// Skontrolujte veľkosť súboru

if ($ _Files ["fileToupload"] ["size"]> 500000) {

Echo „Prepáčte, váš súbor je príliš veľký.“;

$ uploadok =0;

}

// Povoliť určité formáty súborov

if ($ imageFileType! ="jpg" &&$ imageFileType! ="png" &&$ imageFileType! ="jpeg"

&&$ imageFileType! ="gif") {

echo "prepáčte, sú povolené iba JPG, JPEG, PNG &GIF.";

$ uploadok =0;

}

// Skontrolujte, či je $ uploadok nastavený na 0 chybou

if ($ uploadok ==0) {

Echo „Prepáčte, váš súbor nebol nahraný“;

// Ak je všetko v poriadku, skúste nahrať súbor

} else {

if (move_uploaded_file ($ _ files ["filotUPload"] ["tmp_name"], $ target_file)) {

echo "The File". basename ($ _Files ["FileTouPload"] ["name"]). „bol nahraný.“;

// Vložte podrobnosti súboru do databázy

$ filename =basename ($ _ Files ["FileTouPload"] ["name"]);

$ file_path =$ target_file;

$ sql ="Vložte do súborov (filename, file_path) hodnoty ('$ filename', '$ file_path')";

if ($ conn-> query ($ sql) ===true) {

Echo „Nový záznam sa úspešne vytvoril“;

} else {

Echo "Chyba:". $ sql. „
". $ conn-> chyba;

}

} else {

Echo „Prepáčte, došlo k chybe, ktorý odovzdal váš súbor.“;

}

}

$ conn-> close ();

?>

`` `

Vysvetlenie:

1. Nastavenie databázy:

- Vytvorte pripojenie k vašej databáze MySQL pomocou rozšírenia `mysqli`.

- Vymeňte zástupné symboly ako „UserName“, `Password` a` myDatabase` svojimi skutočnými povereniami databázy.

2. Manipulácia s odovzdaním súboru:

- Na prístup k nahranému súboru použite Superglobal Array `$ _Files`.

- Nastavte cieľový adresár (`$ target_dir`), kde bude súbor uložený.

- Vykonajte základnú validáciu:

- Skontrolujte, či je nahraný súbor skutočný obrázok (pomocou `getImagesize`).

- Skontrolujte, či súbor už existuje v cieľovom adresári.

- Skontrolujte, či je veľkosť súboru v rámci povolených limitov.

- Povoliť iba určité formáty súborov (napr. JPG, PNG, GIF).

3. Ukladanie súborov:

- Ak overenie prechádza, použite „move_uploaded_file` na presunutím dočasného odovzdaného súboru do cieľového adresára.

4. Databázové vkladanie:

- Po úspešnom uložení súboru pripravte dotaz SQL na vloženie informácií o súbore do vašej databázy.

- To zvyčajne obsahuje názov súboru a cestu k súboru.

- Na vykonanie dotazu SQL použite metódu `$ conn-> query`.

Dôležité poznámky:

- Zabezpečenie: Vždy overte vstup používateľa a nahrávanie súborov, aby ste zabránili zabezpečeniu zabezpečenia, ako sú útoky XSS alebo vstrekovanie súborov.

- Databázová tabuľka: Uistite sa, že máte vhodnú databázovú tabuľku na ukladanie informácií o súboroch (napr. Tabuľka `Files` so stĺpcmi ako` filename`, `file_path`,` file_size` atď.).

- Manipulácia s chybami: Zvládajte potenciálne chyby počas odovzdávania súborov a vkladania databázy. Zobraziť príslušné správy používateľovi.

- Limity veľkosti súboru: Zvážte nastavenie vhodných limitov veľkosti súboru, aby ste zabránili preťaženiu servera.

- Typy súborov: Na základe požiadaviek vašej aplikácie môžete upraviť povolené typy súborov.

- dezinfekcia údajov: Pred uložením v databáze dezinfikujte názov súboru a ďalšie údaje, aby ste zabránili injekčným útokom SQL.

- veľké súbory: Na spracovanie veľkých súborov zvážte použitie techník, ako je chunking alebo streamovanie nahrávania.

Nezabudnite prispôsobiť tento útržok kódu na vašu konkrétnu databázovú schému a požiadavky na nahrávanie súborov.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené