irontt Posted January 8, 2015 Report Share Posted January 8, 2015 Sveiki! Sapratu ka pirmstam biju iemaldījies nepareizajā sadaļā. Tad nu tādi tie pīrāgi. 1. Kā vispareizāk panākt to, ka pie reģistrācijas, username lauka saturs drīkst saturēt tikai burtus un ciparus? 2. izveidoju tādu fišku ka reģistrējoties lietotājs izveido savu folderi ar nosaukumu $username, un pie augšupielādes fails nonāk mapē users/$username/, kā arī izveidoju datu bāzē tabulu "posts" ar kolonnām id un autors. Jautājums - kā panākt lai fails upload procesā tiek nosaukts 1.jpg > ja 1.jpg jau eksistē tad 2.jpg utt. kā arī tajā pašā laikā šis nummurs tiek saglabāts datubāzē, id kolonnā. Paldies! Quote Link to comment Share on other sites More sharing options...
briedis Posted January 8, 2015 Report Share Posted January 8, 2015 1. http://stackoverflow.com/questions/1330693/validate-username-as-alphanumeric-with-underscores 2. Ķidā sīkāk pa solim. Quote Link to comment Share on other sites More sharing options...
Sasa Posted January 8, 2015 Report Share Posted January 8, 2015 1. ar regexp'u ^[a-zA-Z0-9]+$ 2. foldera izveide: http://php.net/manual/en/function.mkdir.phpkā nosaukumu ņem to ko useris ievada username laukā lai fails nonāktu pēc uploada usera folderī izmanto http://php.net/manual/en/function.move-uploaded-file.php faila pārsaukšana: http://stackoverflow.com/a/18705701/2936503 ja gribi lai ir 2.jpg ja jau ir 1.jpg tad ar http://php.net/manual/en/function.file-exists.phppārbaudi vai fails eksistē tad šo jauno faila nosaukumu inserto posts tabulā piemērs http://stackoverflow.com/a/18655812/2936503 Quote Link to comment Share on other sites More sharing options...
briedis Posted January 8, 2015 Report Share Posted January 8, 2015 Nevajag glabāt pa kaut kādām useru direktorjām. Kas notiek, ja useris pamaina vārdu? Pārāk liels čakars 1. Failu nosauc md5(uniqid()); // 2. Saglabā datubāzē: userId, faila_hash, faila_istais_vards Uzraksti funkciju, kas, saņemot to hashu, atgriež faila pilno ceļu, piemēram: function getFilenameFromHash($hash){ return '/upload/' . substr($hash, 0, 2) . '/' . $hash;} 3. Izveido mapi kur glabā failu mkdir(dirname(getFilenameFromHash($hash)); 4. Saglabā pašu failu uz konkrēto ceļu: move_uploaded_file(...) Lai lejuplādētu failu, uzraksta php skriptu, kam padod GET parametros kuru failu vajag, un skripts viņu dod ārā lejuplādēšanai: http://php.net/manual/en/function.readfile.php Quote Link to comment Share on other sites More sharing options...
irontt Posted January 11, 2015 Author Report Share Posted January 11, 2015 Nu, paldies jums! Tik tālu viss strādā, bija problēma ar lielajiem un mazajiem burtiem userneimos, bet to it kā salaboju ar onChange="javascript:this.value=this.value.toLowerCase(); radīšanas procesā sāku pārdomāt par to taimlainu, kas un kā, bet pagaidām atpūtīšos no šīs idejas (ganjau uznāks iedvesma). PS. arī čakarējoties ar šo, radās cita ideja un to arī divu nakšu laikā realizēju, ček lapu/darbu novērtēšanas sadaļu. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.