Lietotāju iesniegto failu glabāšana MySQL datu bāzē

Dažreiz ir noderīgi vākt datus no jūsu vietnes lietotājiem un glabāt šo informāciju MySQL datu bāze. Mēs jau esam redzējuši, ka jūs varat aizpildīt datu bāzi, izmantojot PHP, tagad mēs pievienosim praktiskumu, ļaujot datus pievienot, izmantojot lietotājam draudzīgu tīmekļa veidlapu.

Pēc tam jums ir jāizveido process.php, lapa, kurai mūsu forma nosūta savus datus. Šeit ir piemērs, kā apkopot šos datus, lai tos ievietotu MySQL datu bāzē:

Protams, pirms mēs to izmēģinām, mums jāpārliecinās, vai tabula patiešām pastāv. Izpildot šo kodu, jāizveido tabula, kuru var izmantot ar mūsu parauga failiem:

Tagad jūs zināt, kā uzglabāt lietotāja datus MySQL, tāpēc veiksim to vienu soli tālāk un uzzināsim, kā augšupielādēt failu glabāšanai. Vispirms izveidosim mūsu datu bāzes paraugu:

Pirmais, kas jums vajadzētu pamanīt, ir lauks ar nosaukumu id kas ir iestatīts uz AUTO_INCREMENT. Kas tas datu tips nozīmē, ka katram failam tiks piešķirts unikāls faila ID, sākot no 1 līdz 9999 (jo mēs norādījām 4 ciparus). Jūs, iespējams, arī pamanīsit, ka mūsu datu lauks tiek saukts

instagram viewer
LONGBLOB. Kā jau mēs iepriekš minējām, ir daudz BLOB veidu. TINYBLOB, BLOB, MEDIUMBLOB un LONGBLOB ir jūsu iespējas, taču mēs esam iestatījuši uz LONGBLOB, lai atļautu pēc iespējas lielākus failus.

Pēc tam mēs izveidosim formu, lai lietotājs varētu augšupielādēt savu failu. Šī ir tikai vienkārša forma, protams, jūs to varētu uzpost, ja vēlaties:

Tālāk mums faktiski ir jāizveido upload.php, kas mūsu lietotājiem paņems failu un glabās to mūsu datu bāzē. Zemāk ir upload.php kodēšanas paraugs.

Tālāk tas izmanto ADDSLASHES funkcija. Tas nozīmē, ka faila nosaukumā vajadzības gadījumā tiek pievienotas slīpsvītras, lai, meklējot datu bāzi, nerastos kļūda. Piemēram, ja mums ir Billy'sFile.gif, tas to pārveidos par Billy's File.gif. FOPEN atver failu un FREAD ir binārs drošs fails, kas nolasīts tā, lai ADDSLASHES ja nepieciešams, tiek izmantots failā esošajiem datiem.

Tālāk mēs pievienojam visu mūsu veidlapā apkopoto informāciju mūsu datu bāzē. Jūs ievērosit, ka mēs vispirms uzskaitījām laukus, bet otrās -, lai mēs nejauši nemēģinātu ievietot datus savā pirmajā laukā (automātiskais ID piešķiršanas lauks.)

Mēs jau iemācījāmies, kā atgūt skaidri dati no mūsu MySQL datu bāzes. Tāpat failu glabāšana MySQL datu bāzē nebūtu ļoti praktiska, ja nebūtu iespējas tos izgūt. Mēs iemācīsimies to izdarīt, katram failam piešķirot URL, pamatojoties uz to ID numuru. Ja jūs atcerēsities, kad augšupielādējām failus, mēs automātiski katram failam piešķīrām ID numuru. Mēs to izmantosim šeit, kad atzvanīsim failus. Saglabājiet šo kodu kā download.php

Tagad, lai izgūtu mūsu failu, mēs norādām mūsu pārlūkam uz: http://www.yoursite.com/download.php? id = 2 (aizstājiet divus ar jebkuru faila ID, kuru vēlaties lejupielādēt / parādīt)

Šis kods ir pamats daudzu lietu veikšanai. Izmantojot to kā bāzi, jūs varat pievienot datu bāzes vaicājumam, kurā tiks uzskaitīti faili, un ievietot tos nolaižamajā izvēlnē, lai cilvēki varētu izvēlēties. Vai arī jūs varat iestatīt ID kā nejauši izveidotu numuru, lai katru reizi, kad persona apmeklē, nejauši tiktu parādīts atšķirīgs grafiks no jūsu datu bāzes. Iespējas ir bezgalīgas.

Tāpat kā mūsu iepriekšējais kods, kas lejupielādēja failus, arī šis skripts ļauj failus noņemt, vienkārši ierakstot to URL: http://yoursite.com/remove.php? id = 2 (aizstājiet 2 ar ID, kuru vēlaties noņemt.) Acīmredzamu iemeslu dēļ jūs to vēlaties esiet piesardzīgs ar šo kodu. Tas, protams, ir uzskatāms par demonstrāciju, kad mēs faktiski veidojam lietojumprogrammas, un mēs to vēlamies ieviest vaicājiet lietotājam, vai viņi ir pārliecināti, ka vēlas dzēst, vai varbūt ļaut failiem noņemt tikai personas ar paroli. Šis vienkāršais kods ir bāze, uz kuras mēs balstīsimies, lai veiktu visas šīs lietas.

instagram story viewer