Door gebruikers verzonden bestanden opslaan in een MySQL-database

Soms is het handig om gegevens van uw websitegebruikers te verzamelen en deze informatie op te slaan in een MySQL database. We hebben al gezien dat u een database kunt vullen met PHP, zullen we nu de bruikbaarheid toevoegen om toe te staan ​​dat de gegevens worden toegevoegd via een gebruiksvriendelijk webformulier.

Vervolgens moet u process.php maken, de pagina waarnaar ons formulier de gegevens verzendt. Hier is een voorbeeld van hoe u deze gegevens kunt verzamelen om in de MySQL-database te plaatsen:

Voordat we het proberen, moeten we er natuurlijk voor zorgen dat de tafel echt bestaat. Als u deze code uitvoert, moet er een tabel worden gemaakt die kan worden gebruikt met onze voorbeeldbestanden:

Nu weet u hoe u gebruikersgegevens kunt opslaan in MySQL, dus laten we nog een stap verder gaan en leren hoe u een bestand uploadt voor opslag. Laten we eerst onze voorbeelddatabase maken:

Het eerste dat opvalt, is een veld met de naam ID kaart dat is ingesteld op AUTO_INCREMENT. Wat dit data type

instagram viewer
betekent dat het zal optellen om elk bestand een unieke bestands-ID toe te kennen, beginnend bij 1 tot 9999 (aangezien we 4 cijfers hebben gespecificeerd). U zult waarschijnlijk ook merken dat ons gegevensveld wordt aangeroepen LONGBLOB. Er zijn veel soorten BLOB zoals we eerder hebben genoemd. TINYBLOB, BLOB, MEDIUMBLOB en LONGBLOB zijn uw opties, maar we hebben de onze ingesteld op LONGBLOB om de grootst mogelijke bestanden mogelijk te maken.

Vervolgens maken we een formulier waarmee de gebruiker haar bestand kan uploaden. Dit is gewoon een eenvoudige vorm, je kunt het natuurlijk verkleden als je wilt:

Vervolgens moeten we upload.php maken, die het bestand van onze gebruikers opneemt en opslaat in onze database. Hieronder vindt u voorbeeldcodering voor upload.php.

Vervolgens gebruikt het de VOEGT TOE functie. Wat dit doet, is indien nodig backslashes toevoegen aan de bestandsnaam, zodat we geen foutmelding krijgen wanneer we de database opvragen. Als we bijvoorbeeld Billy'sFile.gif hebben, wordt dit omgezet naar Billy'sFile.gif. FOPEN opent het bestand en FREAD is een binair veilig bestand dat gelezen moet worden zodat de VOEGT TOE wordt indien nodig toegepast op gegevens in het bestand.

Vervolgens voegen we alle informatie die ons formulier heeft verzameld toe aan onze database. U zult merken dat we eerst de velden hebben vermeld en de waarden daarna, zodat we niet per ongeluk proberen gegevens in ons eerste veld in te voegen (het automatisch toewijsbare ID-veld.)

We hebben al geleerd hoe we moeten terughalen duidelijke gegevens uit onze MySQL-database. Evenzo zou het opslaan van uw bestanden in een MySQL-database niet erg praktisch zijn als er geen manier was om ze op te halen. De manier waarop we dit gaan leren, is door elk bestand een URL toe te wijzen op basis van hun ID-nummer. Als u zich herinnert wanneer we de bestanden hebben geüpload, hebben we automatisch aan elk van de bestanden een ID-nummer toegewezen. We zullen dat hier gebruiken wanneer we de bestanden terugroepen. Sla deze code op als download.php

Om ons bestand op te halen, verwijzen we onze browser naar: http://www.yoursite.com/download.php? id = 2 (vervang de 2 door de bestands-ID die u wilt downloaden / weergeven)

Deze code is de basis voor veel dingen. Met dit als basis kunt u een databasequery toevoegen die bestanden zou weergeven en deze in een vervolgkeuzemenu plaatsen zodat mensen kunnen kiezen. Of u kunt ID instellen als een willekeurig aangemaakt nummer, zodat elke keer dat een persoon op bezoek komt, een andere afbeelding uit uw database willekeurig wordt weergegeven. De mogelijkheden zijn eindeloos.

Net als onze vorige code waarmee bestanden werden gedownload, kunt u met dit script bestanden verwijderen door hun URL in te typen: http://yoursite.com/remove.php? id = 2 (vervang 2 door de ID die u wilt verwijderen.) Om voor de hand liggende redenen wilt u dat wees voorzichtig met deze code. Dit is natuurlijk ter demonstratie, wanneer we daadwerkelijk applicaties bouwen, zullen we dat willen waarborgen vraag de gebruiker of ze zeker weten dat ze willen verwijderen of laat alleen mensen met een wachtwoord toe om bestanden te verwijderen. Deze eenvoudige code is de basis waarop we zullen voortbouwen om al deze dingen te doen.