Időnként hasznos adatot gyűjteni a webhely felhasználóitól, és ezeket az információkat tárolni a MySQL adatbázisban. Már láttuk, hogy kitölthet egy adatbázist a PHP, most hozzá fogjuk adni azt a praktikusságot, amely lehetővé teszi az adatok hozzáadását felhasználóbarát internetes űrlapon keresztül.
Ezután el kell készítenie a process.php-t, az oldalt, amelyre az űrlapunkat az adatok küldik. Íme egy példa arra, hogyan lehet ezeket az adatokat összegyűjteni a MySQL adatbázisba való feladáshoz:
Természetesen, mielőtt kipróbálnánk, ellenőriznünk kell, hogy az asztal valóban létezik-e. A kód végrehajtásával létre kell hozni egy táblázatot, amely használható a mintafájloinkhoz:
Most már tudja, hogyan kell tárolni a felhasználói adatokat a MySQL-ben, tehát tegyük egy lépéssel tovább, és megtanuljuk, hogyan tölthet fel fájlt tárolásra. Először készítsük el a minta adatbázisunkat:
Az első dolog, amit észre kell vennie, az úgynevezett mező id hogy van beállítva AUTO_INCREMENT. Mi ez adattípus azt jelenti, hogy számít, ha minden fájlhoz egyedi fájl-azonosítót rendel, amely 1-től kezdődik és 9999-ig megy (mivel 4 számjegyet adtunk meg). Azt is valószínűleg észreveszi, hogy az adatmezőnket hívják
LONGBLOB. Sokféle BLOB létezik, amint már említettük. A TINYBLOB, a BLOB, a MEDIUMBLOB és a LONGBLOB az Ön lehetősége, de beállítottuk a miénket a LONGBLOB-ra, hogy a lehető legnagyobb fájlokat lehessen használni.Ezután létrehozunk egy űrlapot, amely lehetővé teszi a felhasználó számára a fájl feltöltését. Ez csak egy egyszerű forma, nyilvánvalóan el is öltöztetheti, ha akarta:
Ezután ténylegesen létre kell hoznunk a upload.php fájlt, amely elveszi a felhasználói fájlt és tárolja az adatbázisunkban. Az alábbiakban bemutatjuk a upload.php kódolását.
Ezután a addslashes funkció. Ehhez hozzá kell adni a fordulópontot, ha szükséges, a fájlnévbe, hogy az adatbázis lekérdezésekor ne jelenjen meg hiba. Például, ha van Billy'sFile.gif fájlja, akkor ezt konvertálja Billy'sFile.gif fájljává. fopen megnyitja a fájlt, és fread egy bináris biztonságos fájl, oly módon olvasva, hogy addslashes szükség esetén alkalmazandó a fájlon belüli adatokra.
Ezután az összes adatot összegyűjtjük adatbázisunkba. Észre fogja venni, hogy először felsoroljuk a mezőket, a másodikat pedig az értékeket, így véletlenül nem próbálunk adatokat beilleszteni az első mezőbe (az automatikusan hozzárendelő azonosító mező.)
Már megtanultuk, hogyan kell letölteni egyszerű adatok a MySQL adatbázisunkból. Hasonlóképpen, a fájlok MySQL adatbázisban való tárolása nem lenne nagyon praktikus, ha nem lenne módja azok letöltésére. Ennek megtanulására az lesz, hogy minden fájlhoz URL-t rendelünk az azonosító számuk alapján. Ha visszahívja a fájlok feltöltését, akkor automatikusan azonosító számot adtunk az egyes fájloknak. Ezt itt fogjuk használni, amikor visszahívjuk a fájlokat. Mentse el ezt a kódot a download.php fájlként
Most, hogy letöltse a fájlt, a böngészőnkre mutatunk: http://www.yoursite.com/download.php? id = 2 (cserélje ki a 2-t bármilyen letöltött / megjelenítendő fájl azonosítóval)
Ez a kód alapja sok mindent. Ennek alapjaként felvehet egy adatbázis-lekérdezést, amely felsorolja a fájlokat, és beillesztheti azokat egy legördülő menübe, hogy az emberek választhassanak. Vagy beállíthatja az azonosítót véletlenszerűen létrehozott számként, úgy, hogy az adatbázisban lévő grafikon véletlenszerűen jelenjen meg minden alkalommal, amikor egy személy meglátogat. A lehetőségek végtelenek.
A fájlokat letöltő előző kódhoz hasonlóan ez a szkript lehetővé teszi a fájlok eltávolítását, csak az URL-cím beírásával: http://yoursite.com/remove.php? id = 2 (cserélje ki a 2-t az eltávolítani kívánt azonosítóval.) Nyilvánvaló okok miatt szeretné légy óvatos ezzel a kóddal. Ez természetesen a demonstrációra szolgál, amikor valójában alkalmazásokat építünk, ezt meg akarjuk tenni kérdezze meg a felhasználót, hogy biztosan törölni akarja-e, vagy csak engedi meg, hogy a jelszóval rendelkező emberek eltávolítsák a fájlokat. Ez az egyszerű kód az az alap, amelyre építünk mindezen dolgok elvégzéséhez.