[ zero_83 @ 24.11.2005. 11:29 ] @
Kako bi posetioci sajta mogli da upload-uju neki fajl .... Naravno kreiram sve potrebne stvari za to, ali me zanima kod koji bi omogucio da se sa racunara posetioca fajl kopira u neki folder sajta na serveru. |
[ zero_83 @ 24.11.2005. 11:29 ] @
[ Jbyn4e @ 24.11.2005. 11:57 ] @
[ Nemanja Avramović @ 24.11.2005. 12:10 ] @
Ja imam gomilu tih upload skripti, koristim EasyPHP 1.8, i nijedna ne radi kako treba, sve mi uploaduju fajl u Apache-ov folder, a ne tamo gde ja kazem. Moj ortak koristi isto EasyPHP 1.8, i iste skripte kod njega rade :(
[ frroggy @ 25.11.2005. 11:50 ] @
Mogao bi malo detaljnije da pojasniš ovo:
Citat: Naravno kreiram sve potrebne stvari za to jer ne moze se zakljuciti da li sve te "potrebne stvari" imaju gresku ili manjka koda. Ovako mozemo samo naslepo pricati. Kada se file upload-uje ide u temp folder Apach servera i ti moras dodatno da ga prekopiras gde zelis. Code: //slika smeštena u temp folder na Apach-u $temp_slika=$_FILES['slika']['tmp_name']; //lokacija gde zelis prekopirati sliku $lokacija="folder_gde_zelim_smestiti_sliku/ime_pod_kojim_zelim_smestiti_sliku"; //kopiranje slike iz temp folder-a u željeni folder move_uploaded_file($temp_slika, $lokacija); [ zero_83 @ 25.11.2005. 23:08 ] @
Sve potrebne stvari su vezane za HTML ... znaci polje gde ce se odredjivati putanja, forma, buttons i sve sto je potrebno za to ... samo me zanima sta da
upisem u PHP skripti na koju cu uputiti formu? Hvala ti za ovaj kod, mislim da mi je samo toliko i trebalo ... :) [Ovu poruku je menjao zero_83 dana 26.11.2005. u 00:13 GMT+1] [ Vuk Nikolić @ 25.11.2005. 23:20 ] @
Citat: Ja imam gomilu tih upload skripti, koristim EasyPHP 1.8, i nijedna ne radi kako treba, sve mi uploaduju fajl u Apache-ov folder, a ne tamo gde ja kazem. Moj ortak koristi isto EasyPHP 1.8, i iste skripte kod njega rade :( ja koristim easyphp 1.8 i sve lepo radi. aj posalji skripte koje ti ne rade da proverim. [ Nemanja Avramović @ 26.11.2005. 12:02 ] @
Ovu nisam odavno koristio, ali znam da nije radila. Ne bi me cudilo da kod tebe radi, jer, kao sto rekoh, potpuno isto konfigurisan EasyPHP (tacnije nije nista dirano) i kod mene i kod ortaka, samo sto kod mene ne radi, kod njega radi...
(attach) [ sale83 @ 26.11.2005. 12:43 ] @
ihti Uploader -> Kod mene radi ovaj Uploader samo jako je los sto se tice ogranicenja fajlova!!!
Ovako nece da radi !!! $path = "/upload/"; // path do direktorija gdje ce se uploadovati fajlovi (na pocetak i kraj staviti / ) $path = "upload/"; // Ovako ce da radi bez / na pocetku iako doticni naglasio da treba ( samo ma linux-u ako je neophodno mada i na linuxu netreba doticna crta)!!! [ Nemanja Avramović @ 26.11.2005. 15:52 ] @
Ubacio sam upload.php u /www/ folder (root servera) i napravio folder "upload", podesio skriptu ovako:
Code: $broj_polja = "1"; // broj polja za upload fajlova $path = "upload/"; // path do direktorija gdje ce se uploadovati fajlovi (na pocetak i kraj staviti / ) Sada kad uploadujem fajl dobijam redirektuje me na "http://localhost/<br%20/>...>59</b><br%20/>" i dobijam sledecu poruku od servera (sto je i logicno): Code: Forbidden You don't have permission to access /<br /><b>Notice</b>: Undefined variable: PHP_SELF in <b>c:/program files/easyphp1-7/www/upload.php</b> on line <b>59</b><br /> on this server. E sad, pitanje je zasto me uopste redirektuje na neku tamo stranu? [ zero_83 @ 26.11.2005. 17:55 ] @
recimo ovaj kod:
---------------- <?php // In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead // of $_FILES. $uploaddir = 'direktorijum upload foldera'; $uploadfile = $uploaddir . basename($_FILES ['userfile']['name']); echo '<pre>'; if (move_uploaded_file($_FILES ['userfile']['tmp_name'], $uploadfile)) { echo "File is valid, and was successfully uploaded.\n"; } else { echo "Possible file upload attack!\n"; } echo 'Here is some more debugging info:'; print_r($_FILES ); print "</pre>"; ?> izbacuje sledecu gresku: ----------------------- Warning: Unable to create '/proba/Microphone%2020.gif': No such file or directory in c:\apache\htdocs\proba\index.php on line 9 Warning: Unable to move 'C:\WINDOWS\php16C.tmp' to '/proba/Microphone%2020.gif' in c:\apache\htdocs\proba\index.php on line 9 Possible file upload attack! Here is some more debugging info:Array ( [userfile] => Array ( [name] => Microphone%2020.gif [type] => image/gif [tmp_name] => C:\WINDOWS\php16C.tmp [size] => 6664 ) ) zanima me samo, kada radim na localhost-u, da li moram da putanu direktorijuma odredjujem sa kosom crtom na pocetku, recimo "/localhost/direktorijum/" ili mu kosa crta i localhost uopste ne trebaju, recimo "direktorijum", ili pak "/direktorijum/" ili je sve jedno... ????? malo me buni i 'tmp_name', da li ja treba da odredim putanju do temp direktorijuma na apache-ovom serveru ili to sam kod radi ... ??? [ sale83 @ 27.11.2005. 00:32 ] @
@JaHvram
You don't have permission to access -> Prebacuje te zato sto nemas dozvolu za pristup !~!! folder upload napravi u direktorijum gde se nalazi scripta upload.php !! Ako je folder izavan direktorijuma upload.php onda ides ovako ../upload/ ../../uplload/ itd... zero_83 Kod tebe je problem sto nisi podesi dobro upload direktorijum !!! [ Nemanja Avramović @ 27.11.2005. 02:13 ] @
Kako je moguce da nemam dozvole kad je Windows, administrator sam, ... a /upload/ folder je u istom folderu gde i upload.php
[ frroggy @ 27.11.2005. 18:44 ] @
opet uopšten pojam :
Citat: $uploaddir = 'direktorijum upload foldera'; Zašto brate ne napišeš lepo: Code: $uploaddir = "/upload/"; Ako sam te razumeo kako treba ti imaš direktorijum "upload" u istom direktorijumu gde ti je i upload.php skripta. u tom slučaju izbaci prvi slash: Code: $uploaddir = "upload/"; P.S. Sad videh ovo: Citat: in c:\apache\htdocs\proba\index.php on line 9 a ti rece da je skripta upload.php? [ Ann@ @ 28.11.2005. 11:18 ] @
I ja imam sličan problem, ovo je dio koda :
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="524288"> <fieldset><legend>Ispuni formicu da bi mogao uplodati slikicu!</legend> <p><b>File:</b> <input type="file" name="upload" /></p> <p><b>Description:</b> <textarea name="description" cols="40" rows="5"></textarea></p> </fieldset> <div align="center"><input type="submit" name="dodaj" value="dodaj" /></div> </form> <? if (isset($_POST['dodaj'])) { require_once('connect.inc.php'); function escape_data ($data) { global $dbc; if (ini_get('magic_quotes_gpc')) { $data = stripslashes($data); } return mysql_real_escape_string(trim($data), $dbc); } //kraj escape funkcije if (!empty($_POST['description'])) { $d = escape_data($_POST['description']); }else{ $d = ' '; } //dodavanje u bazu $query = "INSERT INTO uploads (file_name, file_type, description, upload_date) VALUES ('{$_FILES['upload']['name']}'; '{$_FILES['upload']['size']}', '{$_FILES['upload']['type']}', '$d', NOW())"; $result= @mysql_query($query); if($result) { $extension = explode ('.', $_FILES['upload']['name']); $uid = mysql_insert_id(); $filename = $uid . '.' . $extension[1]; //kopira file na novu lokaciju na serveru if(move_uploaded_file($_FILES['upload']['tmp_name'], "../uploads/$filename")) { echo '<p>Uplodali smo slikicu!</p>'; }else{ echo '<p><font color="red">Nisam uspio uplodati slikicu, dogada se!</font></p>'; $query = "DELETE FROM uploads WHERE upload_id = $uid"; $results = @mysql_query($query); } } else { echo '<p><font color ="red">Nisam uspio uplodat sliku zbog system errora. Sorry!</font></p>'; } mysql_close(); } ?> nisam sigurna da li sam na pravo mjesto ubacila folder uploads, stavila sam ga gdje je i index.php, ali sam napravila tablicu i u mysql sa istim nazivom, sad me muci sto mi izbacuje gresku da nije uplodao sliku zbog systm errora! Please help me! Moram dovrsit projekt, a ne znam kako! [ sale83 @ 28.11.2005. 11:39 ] @
Evo vako mi radi ta tvoja sctipta:
Code: if(move_uploaded_file($_FILES['upload']['tmp_name'], "../uploads/".$_FILES['upload']['name'])) { TJ Code: // Ovo ti nije potrebno $filename = $uid . '.' .$extension[1]; // sto bi u svako slucaju trebalo da bude kako i ovo: $filename = $extension[0].".".$extension[1]; // Naravno $_FILES['upload']['name'] [Ovu poruku je menjao sale83 dana 28.11.2005. u 12:48 GMT+1] [ Nemanja Avramović @ 06.12.2005. 20:32 ] @
E ljudi, ja iskopirao samo ono iz PHP manual-a i RADI :D
Evo u attachmentu skripte koja (kod mene) radi! [ bojan_bozovic @ 06.12.2005. 21:51 ] @
Citat: $extension = explode ('.', $_FILES['upload']['name']); $uid = mysql_insert_id(); $filename = $uid . '.' . $extension[1]; Aha, hoce... za slika.dva.jpeg ti vraca dva (mozes u imenu fajla da imas koliko hoces tacaka) Citat: $extension = $_FILES["upload"]["type"]; i BTW sve proveri pre UPDATE ili INSERT INTO upita, ne ovako... tako ja mogu 2Mb ZIP da ti uploadujem na server... Dakle, ime fajla mozes da ne diras, ili, sto sam ja uradio, da resamplujes sliku (probajte upload zipova preimenovanih u jpg na mom sajtu - nece) a $extension ti sluzi da proveris tip fajla npr image/jpg, image/png, image/gif, image/jpeg [Ovu poruku je menjao bojan_bozovic dana 06.12.2005. u 22:54 GMT+1] [ X.X.X.X @ 17.12.2005. 17:48 ] @
Zanima me da li se to sta ljudi upload-aju može odma direktno ubaciti na stranicu,skinia sam sve ove skripte i one prebacuju u folder kako napraviti da prebacuje na stranicu direktno???
Ako mi netko može pojasnit ovu stvar: 1.Piše da folderu dodijelim CHMOD 777 di to treba staviti i naznaciti???? [ bojan_bozovic @ 17.12.2005. 18:09 ] @
@XXXX
CHMOD-ujes iz FTP programa (*FTP) [ X.X.X.X @ 17.12.2005. 18:48 ] @
A kako napraviti da kad netko nesto upload-a da to direktno ide na stranicu npr. slike i opis
[ bojan_bozovic @ 17.12.2005. 20:09 ] @
Ili tako da ista stranica koja procesira formu (HTTP POST zahtev) prikazuje i sadrzaj (kao na mom sajtu, idi na http://maestitia.net/index.php?u=10 pa glasaj) ili tako da taj PHP, ASP, perl, stogod, izvrsi redirekciju na stranicu gde se rezultati prikazuju
![]() [ X.X.X.X @ 18.12.2005. 00:18 ] @
Citat: bojan_bozovic: Ili tako da ista stranica koja procesira formu (HTTP POST zahtev) prikazuje i sadrzaj (kao na mom sajtu, idi na http://maestitia.net/index.php?u=10 pa glasaj) ili tako da taj PHP, ASP, perl, stogod, izvrsi redirekciju na stranicu gde se rezultati prikazuju :) da ali kako to napraviti da direktno uploda na stranicu HTML ili PHP??? [ Nemanja Avramović @ 18.12.2005. 10:51 ] @
Pa ne može "direktno na stranicu" da se uploaduje, već se uploaduje na server, pa ti možeš da pročitaš sadržaj fajla i onda da ga sa unlink(); obrišeš sa servera ako ti nije potreban na serveru.
[ bojan_bozovic @ 18.12.2005. 11:00 ] @
@XXXX
Uploadujes na server (u neki direktorijum) pa referenciras fajl (u mom slucaju IMG tagom) bas kao da si ga sa FTP uploadovao. [ dragancesu @ 19.12.2005. 06:44 ] @
Bar jedno resenje imas ovde http://www.elitesecurity.org/tema/139559/0#911866
a u bazi bi trebao da je neki opis i polje koje pokazuje na sliku. Problem je ako se samo ovako ostavi pa ti upload-uju sve i svasta. [Ovu poruku je menjao dragancesu dana 19.12.2005. u 07:49 GMT+1] [ sojic @ 30.04.2007. 14:04 ] @
Trenutno i ja imam neki problem, ali mislim da je vezan za apache.
web server: xampp fileupload script: http://www.element-it.com/MultiPowUpload.aspx (to je ista skripta koja se spomenuje u neke postove) Radi file upload, ali kad hocu da uploadujem neki film (700MB) ne radi. Vidim da ima protok mreze, ali fajl nigde se ne pojavi, niti u temp niti u direktoriumu gde treba. Smenio sam ekstenziju (kazem da neka skripta ne blokira .avi) opet ne radi. Po sve izgleda da je problme kod apacheta ili sl. Smenio sam php.ini, stavio upload_max_filesize = 5000M, opet ne radi. Sta da radim? [ glavince @ 30.04.2007. 19:58 ] @
Promeni i post_max_size = 5000M u php.ini.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|