Autor | Zpráva | ||
---|---|---|---|
qweewq Profil * |
#1 · Zasláno: 7. 4. 2012, 16:27:01
Ahoj,
Napsal jsem si script, který nahraje image na server => script funguje. Teď sem si do formuláře ale přidal select box, v kterém uživatel vybírá cestu kam se soubor nahraje. Určitě v tom mám někde chybu. Když formulář odešlu = Objekt nenalezen! Požadované URL nebylo na tomto serveru nalezeno. Nemohu přijít na to co dělám špatně... Jenom mám pochybnosti jestli mohu cestu předávat pomocí atributu value v tagu select.... ? Přikládám script: FORMULÁŘ: <?php $cesta = "images/fotografie/"; $cesty = array(); $kategories = array(); $dir_images=opendir($cesta); $i = 0; while($ketegorie_img = readdir($dir_images)) { if ($ketegorie_img != "." && $ketegorie_img != "..") { $ketegorie_img_cesty = $cesta.$ketegorie_img."/"; $cesty[$i] = $ketegorie_img_cesty; $kategories[$i] = $ketegorie_img; $i=$i+1; } } closedir($dir_images); // Výsledek scriptu až sem je že v poli $cesty[] mám uložené relativní cesty ke složkám v adresři images/fotografie/. V poli $kategories[] mám ulžené názvy složek ?> <form action="zpracuj.php" method="post" enctype="multipart/form-data"> <select name="kategorie"> <?php foreach ($cesty as $k => $v) { echo "<option value=\"$v\">$kategories[$k]</option>"; // Cesty ke složkám vypisuju do atributu value a názvy složek do tagu option } ?> </select> <input name="userfile" type="file" /> <input name="save" type="submit" value="Nahrat soubor" /> </form> ZPRACUJ FORMULÁŘ: <? if (isset($_POST["kategorie"])) { $uploaddir = $_POST["kategorie"]; if ($_POST["save"] == "Nahrat soubor") { #cesta na serveru $uploadpath = $_SERVER['DOCUMENT_ROOT']; // Zkoušel jsem k cestě přiložit cestu ke kořenovému adresáři webu, ale nepomohlo to, i když si myslím že by to tak mělo být, nebo ne? $uploadfile = $uploaddir.$_FILES['userfile']['name']; if (move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadfile)) { echo "Soubor byl presunut z ".$_FILES['userfile']['tmp_name']." do $uploadfile<br />"; } } } Díky všem za pomoc... |
||
ATi Profil |
Zkus
<?php $cesta = "./images/fotografie/"; ?> |
||
qweewq Profil * |
#3 · Zasláno: 7. 4. 2012, 16:55:21
Beze změny. (Soubory s formulářem a jeho zpracování mám v kořenovém adresáři webu). Ale díky
|
||
ATi Profil |
qweewq:
<?php $uploadpath = $_SERVER['DOCUMENT_ROOT'].$cesty; ?> |
||
qweewq Profil * |
#5 · Zasláno: 7. 4. 2012, 17:21:38
V proměnné $cesty je pole s cestama ke složkám kam se soubory mohou nahrát. $cesty pak vypisuju do select boxu => uživatel si vybere kam chce soubor nahrát...
Takhle to fungovat nebude... Myslím že je někde chyba v předání vybrané cesty v select boxu scriptu který vybranou cestu převezme a tam pak nahraje požadovaný soubor. |
||
qweewq Profil * |
#6 · Zasláno: 8. 4. 2012, 12:14:22
EDIT: Opavdu si nikdo nevíte rady s mím problémem .... ?? Do teďka jsem na to bohužel nepřišel, proč to nejde... Mohl by mi někdo pomoct??
|
||
Bertram Profil |
#7 · Zasláno: 8. 4. 2012, 12:39:30
qweewq:
„Do teďka jsem na to bohužel nepřišel, proč to nejde...“ Ahoj, už jsi zkoušel dumpnout $uploadfile? var_dump ($uploadfile); exit; |
||
qweewq Profil * |
#8 · Zasláno: 8. 4. 2012, 13:05:50
Díky moc, ani jsem nevěděl že tato funkce existuje :) Bohužel mám zatím problém s jejich vyhledáváním. Ale už to funguje :). Bylo to způsobeno tím že fce $_SERVER['DOCUMENT_ROOT'] vracela cestu která nebyla ukončená "/". Ještě jednou díky...
|
||
Časová prodleva: 11 let
|
0