Upload text and image form .php!
Last Updated: May 13 2012 18:33, Started by
vvallee007
, May 10 2012 22:57
·
0
#1
Posted 10 May 2012 - 22:57
Salut sunt relativ nou cand vine vorba de php, as vrea sa creez un upload.php care sa-mi trimita pe host 6 textField si 1 uploadImage. Dupa zeci de incercari, nu am ajuns nicaieri, aveti 10 minute la dispozitie?Ma poate ajuta cineva? Va multumesc mult. Cu formul HTML mam descurcat, de preferat ar fi un php cat mai simplu, va multumesc mult! (sa postez ajutor pe forum era planul Z la mine, asa ca va dati seama cate incercari esuate am avut:D)
|
#2
Posted 11 May 2012 - 10:14
vvallee007, on 10th May 2012, 23:57, said: Salut sunt relativ nou cand vine vorba de php, as vrea sa creez un upload.php care sa-mi trimita pe host 6 textField si 1 uploadImage. Dupa zeci de incercari, nu am ajuns nicaieri, aveti 10 minute la dispozitie?Ma poate ajuta cineva? Va multumesc mult. Cu formul HTML mam descurcat, de preferat ar fi un php cat mai simplu, va multumesc mult! (sa postez ajutor pe forum era planul Z la mine, asa ca va dati seama cate incercari esuate am avut:D) |
#3
Posted 11 May 2012 - 15:47
caliux, on 11th May 2012, 10:14, said: http://www.phpclasses.org, poate de site-ul acesta nu stiai. Are cateva clase de upload, poti incerca una dintre ele. Macar stii sa declari o variabila in php? (//($_FILES["file"]["type"] == "image/pjpeg") || ($_FILES["file"]["type"] == "text")//) Sau nu stiu despre ce vorbesc? |
#4
Posted 11 May 2012 - 17:01
nu..
prima data fa-ti formularul in html <form method="post" enctype="multipart/form-data" action="verifica_upload.php"> <input type="file" name="ceva_fisier" /> <br /> Text: <input type="text" name="ceva_text" /> <input type="submit" value="Trimite" /> </form> cand user-ul apasa "trimite" tot ce a introdus el in acele elemente input vor fi trimise catre verifica_upload.php. in acest fisier verifici daca ce a uploadat el este ok: <?php // aici va fi mutat fisierul uploadat de user, schimba calea dupa cum vrei $destinatie = 'uploads/'.basename($_FILES['ceva_fisier']['name']); // asta e calea completa + numele temporar catre fisierul uploadat de user $sursa = $_FILES['ceva_fisier']['tmp_name']; // muti fisierul din locatia temporara in locul unde il vrei uploadat if(move_uploaded_file($sursa, $destinatie)) { echo 'fisierul a fost uploadat: '.$destinatie; }else{ echo 'eroare'; } // aici e celalalt camp cu text $ceva_text = $_POST['ceva_text']; mesajele de eroare le poti gasi in $_FILES['ceva_fisier']['error'] sub forma de array... vezi ca trebuie sa faci multe verificari, eu ti-am dat doar codul de baza. de ex. vezi cu isset() daca a fost sau nu uploadat ceva, apoi verifica extensia, marimea etc. ca sa nu te trezesti ca iti executa cineva script-uri pe server Edited by Nemesis-, 11 May 2012 - 17:06. |
#5
Posted 11 May 2012 - 20:32
Hmm, eu invat mai repede din greseli, asa ca o sa iti arat cum arata scriptul meu php daca iti iese in ochii ceva suspect sami spui...tot ce imi spune e "invalid file",,s scriptul html...e format din 6 form`uri de text si 1 form de upload file. Sper sa o scot la capat, multumesc mult!
/////////////////////////////// <?php if (($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg") || ($_FILES["file"]["type"] == "text") && ($_FILES["file"]["size"] < 200000)) { if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " . $_FILES["file"]["type"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />"; if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); echo "Stored in: " . "public_html/upload/" . $_FILES["file"]["name"]; } } } else { echo "Invalid file"; } ?> /////////////////////// |
#6
Posted 11 May 2012 - 22:02
Deci Nemesis- s-a ostenit mai sus sa-ti faca un exemplu personalizat cu comentarii, explicatii si tot ce vrei si pe tine te doare-n cur! Frumos, ce sa zic! Spor la carpeala!
|
#7
Posted 12 May 2012 - 19:12
Pac_Man, on 11th May 2012, 22:02, said: Deci Nemesis- s-a ostenit mai sus sa-ti faca un exemplu personalizat cu comentarii, explicatii si tot ce vrei si pe tine te doare-n cur! Frumos, ce sa zic! Spor la carpeala! Asa ca nu te mai `mictiona` pe tine. Asa ca stai frate in banca ta, multumesc! |
#8
Posted 12 May 2012 - 19:57
Nemesis, frate nu stiu , sigur fac eu ceva gresit, am incercat cat de simplu se poate...basic sa stiu eu ca merge si dupaia mai adaug TextField`uri si dastea...dar la fel ca pana acum "error". Nu inteleg unde gresesc, Destinatia de upload trebuie sa fie "public_html/uploads" ? sau simplu /uploads? Trebuie sa creez si folderul temporar? (poate ca o sa vi se para intrebari ciudata, dar, asta e!)
|
#9
Posted 12 May 2012 - 20:06
Dupa cum iti zice tie tu incerci sa incarci un fisier care nu convine cu acea conditie de la inceput.
Vezi ca fisierele pe care le incarci trebuie sa fie SUB 20 kb!!! In legatura cu intrebarea ta nu e stupida, asta daca esti incepator... Tu pe ce testezi? Pe calculatorul local sau pe ftp? Vezi ca in script-ul tau tu l-ai incarca in folderul upload, iar apoi dai la echo in public_html, deci intrebarea e pe ce lucri? Local sau ftp? |
#10
Posted 12 May 2012 - 20:29
ITMaster, on 12th May 2012, 20:06, said: Dupa cum iti zice tie tu incerci sa incarci un fisier care nu convine cu acea conditie de la inceput. Vezi ca fisierele pe care le incarci trebuie sa fie SUB 20 kb!!! In legatura cu intrebarea ta nu e stupida, asta daca esti incepator... Tu pe ce testezi? Pe calculatorul local sau pe ftp? Vezi ca in script-ul tau tu l-ai incarca in folderul upload, iar apoi dai la echo in public_html, deci intrebarea e pe ce lucri? Local sau ftp? P.S: chiar sunt incepator. Deci sa inteleg ca am gresit la destinatie? |
|
#11
Posted 12 May 2012 - 20:39
Daca host-ul nu e al tau ci e unul free nu prea as recomanda lucru direct pe ftp. Mai ok ar fi un server local pe care stii ca ai toate drepturile de care ai nevoie mai ales cand e faza cu upload de fisiere.
Pai daca ii sa ne luam strict dupa eroare zice ca fisierul e invalid in sensul ca ori nu e jpg/jpeg/txt sau cel mai probabil inceci cu fisiere mai mari de 20kb. Incarca o poza care are dimensiune de maxim 19kb. Mai intai fa asta si apoi revino cu rezultat. |
#12
Posted 12 May 2012 - 20:55
Nu merge, "invaid file" am incercat cu o imagine de 9kb , intradevar hostul e free, si am pus conditia "text" pentru a primi ceea ce scrie , cel ce ca face uploadul in acele casute "text field".
Am testat tot pe FTP...ca m-am gandit ca pana la urma sa fie testat acolo unde va fi uploadat tot siteul. |
#13
Posted 12 May 2012 - 21:09
Codul tau il pui in coment de genul:
/* cod-ul pe ca l-ai testat acuma */ si sub el pune acesta: <?php if ((($_FILES["file"]["type"] == "image/jpeg"))&& ($_FILES["file"]["size"] < 20000)) { if ($_FILES["file"]["error"] > 0) { echo "Cod returnat: " . $_FILES["file"]["error"] . "<br />"; } else { if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " deja exista. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_FILES["file"]["name"]); echo "E OK"; } } } else { echo "FISIER INVALID!!! VEZI EXTENSIE JPEG SI MAI MICI DECAT 20kb!!!"; } ?> Incearca cu aceeasi poza de 9kb vezi sa fie jpeg. In acealsi folder cu script-ul acesta faci un folder numit upload Revino cu rezultate. |
#14
Posted 12 May 2012 - 21:34
Frate, scuza-ma daca te disper de cap, nush ce se intampla ori sunt greu de cap ori... imi spune ceva de genu:
"""Parse error: syntax error, unexpected '<' in /home/a8216907/public_html/verifica_upload.php on line 10""". Pare rau daca te deranjez din nou, dar chestia asta imi da batai de cap de ceva timp. Foleru e creat, in FTP am pus html`ul,php`ul si folderu "upload" respectiv, iam dar php`ului si folderului de uload =CHMODE777. Tot ce trebuie sa concluzionez ca am scris php`ul gresit, ori nu am pus unde trebuia ce miai trimis tu. Multumesc oricum, si multumesc ca ai rabdare. |
#15
Posted 12 May 2012 - 21:51
vvallee007, on 12th May 2012, 22:34, said: Frate, scuza-ma daca te disper de cap, nush ce se intampla ori sunt greu de cap ori... imi spune ceva de genu: """Parse error: syntax error, unexpected '<' in /home/a8216907/public_html/verifica_upload.php on line 10""". Pare rau daca te deranjez din nou, dar chestia asta imi da batai de cap de ceva timp. Foleru e creat, in FTP am pus html`ul,php`ul si folderu "upload" respectiv, iam dar php`ului si folderului de uload =CHMODE777. Tot ce trebuie sa concluzionez ca am scris php`ul gresit, ori nu am pus unde trebuia ce miai trimis tu. Multumesc oricum, si multumesc ca ai rabdare. Eu nu ma enervez stai linistit, deci sa vedem: ai html-ul cu formularul, dar la formular sa nu uiti de acel enctype="multipart/form-data" apoi ai php-ul unde ai doar ce ti-am scris eu mai sus, restul continutului trebuie sa fie intre /* si */ Iti da eroarea aceea probabil ca ai omis ceva din comentariu, deci in fisierul verifica_upload.php trebuie sa ai doar ce ti-am scris eu mai jos acel cod in rest nimic altceva. Daca mai ai altceva (orice altceva) sterge sau mai bine fa un fisier in Notepad cu codul care ti l-am scris si foloseste-l pe ala. Atat index.php, verifica_upload si folderul upload trebuie sa fie in acelasi folder. |
|
#16
Posted 12 May 2012 - 22:17
Bun, am facut un fisier Notepad cu ce miai scris tu , index.php lam facut, acel form de upload file + textField, am pus enctype="multipart/form-data" , am sters tot din FTP de la public, am pus doar astea 3( index.php care contine formurile, verifica_upload.php cel scris de tine, si folderul propriu zis) am setat CHMODE777...s tot ce face cand apas "send details" ma trimie pe host ("http://error404.XXXXXXXXX.com/?") deja imi pierd sperantele, chestia e ca am construit tot siteul, s asta e ultima suta de metri sa zic asa, s m-am inpotmolit grav.
|
#17
Posted 12 May 2012 - 22:33
Pai o solutie 100% ca sa vezi daca merge este sa iti pui php-ul pe calculator.
Alte idei nu imi vin in minte in acest moment. |
#18
Posted 12 May 2012 - 22:41
In fine , multumesc mult frate, o sa mai incerc procedura si in pc. O sa incerc sa pun hostul pe hardul meu extern.(merge nu?) oricum..o sa pastrez codul php scris de tine, multumesc mult pentru rabdare. O ultima intrebare, trebuie sa mai adaug ceva la "verifica_upload" pentru acele TextField din formular? Oricum, nu ma las eu la 100 m . Multumesc sincer!
|
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users