Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> PHP /MySQL Programmering >> Content
Hoe voegt u bestanden in een database in met behulp van PHP?
`` `php

// Database -referenties

$ serverName ="localhost";

$ gebruikersnaam ="gebruikersnaam";

$ wachtwoord ="wachtwoord";

$ dbName ="myDatabase";

// verbinding maken

$ conn =new mysqli ($ serverName, $ gebruikersnaam, $ wachtwoord, $ dbName);

// Controleer de verbinding

if ($ conn-> connect_error) {

Die ("Verbinding mislukt:". $ conn-> connect_error);

}

// Bestand upload details

$ target_dir ="uploads/";

$ target_file =$ target_dir. basename ($ _ bestanden ["filetoupload"] ["naam"]);

$ uploadok =1;

$ imageFiletype =strtolower (Pathinfo ($ target_file, pathinfo_extension));

// Controleer of het afbeeldingsbestand een daadwerkelijke afbeelding of nep -afbeelding is

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

$ check =getImagesize ($ _ bestanden ["filetoupload"] ["tmp_name"]);

if ($ check! ==false) {

Echo "Bestand is een afbeelding -". $ check ["mime"]. ".";

$ uploadok =1;

} else {

echo "bestand is geen afbeelding.";

$ uploadok =0;

}

}

// Controleer of het bestand al bestaat

if (file_exists ($ target_file)) {

echo "sorry, bestanden bestaat al.";

$ uploadok =0;

}

// Controleer het bestandsgrootte

if ($ _files ["filetoupload"] ["size"]> 500000) {

echo "Sorry, uw bestand is te groot.";

$ uploadok =0;

}

// Sta bepaalde bestandsindelingen toe

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

&&$ imageFiletype! ="gif") {

Echo "Sorry, alleen JPG, JPEG, PNG &GIF -bestanden zijn toegestaan.";

$ uploadok =0;

}

// Controleer of $ uploadok is ingesteld op 0 door een fout

if ($ uploadok ==0) {

echo "Sorry, uw bestand is niet geüpload.";

// Als alles in orde is, probeer dan het bestand te uploaden

} else {

if (move_uploaded_file ($ _ bestanden ["filetoupload"] ["tmp_name"], $ target_file)) {

echo "het bestand". basename ($ _files ["filetoupload"] ["naam"]). "is geüpload.";

// Details invoegen in database

$ bestandsnaam =basename ($ _ bestanden ["filetoupload"] ["name"]);

$ file_path =$ target_file;

$ sql ="invoegen in bestanden (bestandsnaam, bestand_path) waarden ('$ bestandsnaam', '$ file_path')";

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

echo "Nieuw record met succes gemaakt";

} else {

echo "error:". $ SQL. "
". $ conn-> fout;

}

} else {

echo "Sorry, er was een foutmelding die uw bestand uploadde.";

}

}

$ conn-> close ();

?>

`` `

Verklaring:

1. Database -instelling:

- Leg een verbinding tot stand met uw MySQL -database met behulp van de `mysqli` -extensie.

- Vervang tijdelijke aanduidingen zoals `gebruikersnaam ',` wachtwoord' en `myDatabase` door uw werkelijke database -referenties.

2. Bestand uploadafhandeling:

- Gebruik de `$ _files` Superglobal Array om toegang te krijgen tot informatie over het geüploade bestand.

- Stel een doelmap (`$ target_dir`) in waar het bestand wordt opgeslagen.

- Voer basisvalidatie uit:

- Controleer of het geüploade bestand een daadwerkelijke afbeelding is (met behulp van `getImagesize`).

- Controleer of het bestand al bestaat in de doelmap.

- Controleer of de bestandsgrootte binnen toegestane limieten ligt.

- Sta alleen bepaalde bestandsindelingen toe (bijv. JPG, PNG, GIF).

3. Bestandsopslag:

- Als de validatie voorbijgaat, gebruikt u `Move_Uploaded_File` om het tijdelijke geüpload bestand naar de doelmap te verplaatsen.

4. Insertie van database:

- Nadat u het bestand succesvol hebt opslaan, kunt u een SQL -query voorbereiden om de bestandsinformatie in uw database in te voegen.

- Dit omvat meestal de bestandsnaam en het pad naar het bestand.

- Gebruik de methode `$ conn-> query` om de SQL-query uit te voeren.

belangrijke opmerkingen:

- Beveiliging: Valideer altijd gebruikersinvoer en bestandsuploads om beveiligingskwetsbaarheden zoals XSS -aanvallen of bestandsinjectie te voorkomen.

- Databasetabel: Zorg ervoor dat u een geschikte databasetabel hebt om bestandsinformatie op te slaan (bijv. 'Bestanden' Tabel met kolommen zoals `bestandsnaam ',` File_Path`, `File_Size`, enz.).

- Foutafhandeling: Behandel potentiële fouten tijdens het uploaden van bestand en database -invoeging. Geschikte berichten weergeven aan de gebruiker.

- Limieten voor bestandsgrootte: Overweeg de juiste limieten voor bestandsgrootte in te stellen om serveroverbelasting te voorkomen.

- Bestandstypen: U kunt de toegestane bestandstypen wijzigen op basis van de vereisten van uw applicatie.

- Gegevensinvoering: Saniteer de bestandsnaam en andere gegevens voordat u deze in de database opslaat om SQL -injectieaanvallen te voorkomen.

- Grote bestanden: Overweeg voor het hanteren van grote bestanden technieken zoals chunking of streaming uploads.

Vergeet niet om dit codefragment aan te passen aan uw specifieke databaseschema en vereisten voor het uploaden van bestand.

Previous: Next:
  PHP /MySQL Programmering
·Hoe de MySQL tabel User Interf…
·Hoe maak je een Array converte…
·PHP functies voor MySQL naar H…
·PHP Unset Class Definition 
·Hoe je ImageMagick PDF convert…
·Heb Scripts verlopen ? 
·Hoe te Data Store in MySQL met…
·Hoe maak je een boom menu met …
·Hoe kan ik PHP bewerken in ont…
  Related Articles
Hoe voer je PHP in Windows zonder SQL ui…
Hoe maak je een vertaler op je computer …
Waar kun je Max en Ruby bekijken op inte…
Hoe gebruik je de Python -programmeermet…
Bevat geen programmalogica en worden gen…
Hoe verschillende talen hebben betrekkin…
Hoeveel compilers dwz front -end en acht…
Hoe kunt u uw computer ertoe brengen om …
Hoe maak je de compilatie van de verschi…
  Programmering Articles
·Hoe maak je een CSV maken uit een JSON P…
·Hoe te Flat Files in Netbeans importeren…
·Hoe maak je een tekstvak uitlijnen in de…
·Met twee - dimensionale arrays in Java N…
·Waarom is SQL Server geïnstalleerd met …
·Hoe te Accounting Software ontwerp 
·IronRuby Vs . Ruby Netto 
·Hoe je meerdere rijen invoegen Van SPUFI…
·Hoe de JW Player Met MP4 
Copyright © Computer Kennis https://www.nldit.com