daviskrex Posted May 12, 2009 Report Share Posted May 12, 2009 Sveiki, man ir problēma - Dzīvoju es uz windows 2008 server. Uztaisīju bilžu upload skriptu, bet bildei aploudojoties to vajag parādīt - permisijas nav. Kāds zin kā izdarīt tā, lai man nav katrai bildei permisijas jāliek ar roku? P.S. mēģināju palaist šādu skriptu, taču tas arī nestrādāja. $path="./images/users/"; $dh = opendir($path); while ($temp = readdir($dh)) { if ($temp!='.' && $temp!='..') chmod($temp,777); } Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted May 12, 2009 Report Share Posted May 12, 2009 Kādā veidā Tu pārvieto uploadoto failu? parādi koda fragmentu, kas no temp uploada direktorijas pārvieto uz kādu pieejamāku vietu. Quote Link to comment Share on other sites More sharing options...
daviskrex Posted May 12, 2009 Author Report Share Posted May 12, 2009 (edited) $id = $_SESSION['id']; if(isset($_FILES["uploadedfile"])){ if ($_FILES["uploadedfile"]["type"] == "image/gif" || $_FILES["uploadedfile"]["type"] == "image/jpeg" || $_FILES["uploadedfile"]["type"] == "image/pjpeg") { if ($_FILES["uploadedfile"]["error"] > 0) { echo "Return Code: " . $_FILES["uploadedfile"]["error"] . "<br />"; } else { $target_path = "./images/users/"; $target_path = $target_path . basename( time() . $_FILES['uploadedfile']['name'] ); if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { $bilde = quote_smart(time() . $_FILES['uploadedfile']['name']); $qs = mysql_query("UPDATE members SET avatar=$bilde WHERE id=$id"); if(!$qs){ print "Kļūda ievietojot mysql datubāzē! ".mysql_error().""; } else { $path="./images/users/"; $dh = opendir($path); while ($temp = readdir($dh)) { if ($temp!='.' && $temp!='..') chmod($temp,777); } $_SESSION['avatar'] = $bilde; } } else{ echo "Nevar augšuplādēt bildi!"; } } } print "asd"; } else { } ?> <table align='center'> <tr> <form align="center" enctype="multipart/form-data" action="" method="POST"> <td align="center"><input class='form' type="hidden" name="MAX_FILE_SIZE" value="100000" /></td></tr> <tr><td align="center">Bilde, ar ko vēlaties aizstāt veco:</td><td> <input class='form' name="uploadedfile" type="file" /></td></tr> <tr><td align="right" colspan="2"><input class='form' align="right" type="submit" value="Upload File" /></td> </form></td></tr> </table> Edited May 12, 2009 by daviskrex Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted May 12, 2009 Report Share Posted May 12, 2009 Hmm... Tātad, ja pareizi saprotu - skripts korekti pārvieto ar move_uploaded_file() failu uz vajadzīgo mapi, taču vienīgā problēma, ka pārvietotajiem failiem ir nepareizas piekļuves tiesības? Tādā gadījumā, man šķiet, Tev ir jāuzliek mapei ./images/users tiesības ar Windows līdzekļiem tā, lai lietotājam ar kura privilēģijām darbojas webserveris, būtu vismaz "List folder contents" un "Read" tiesības uz šo mapi. Kā arī Read tiesības (un arī Write un Modify, ja jāmaina/jādzēš tās bildes) uz tajā veidotajiem objektiem. chmod() attiecas tikai uz Unix. Quote Link to comment Share on other sites More sharing options...
daviskrex Posted May 12, 2009 Author Report Share Posted May 12, 2009 (edited) Lieta jau ir tāda, ka mapei ir iedota full piekļuve, bet failiem, kurus viņš pārvieto tās permisijas nav. Netieku gudrs kā to izlabot. Edited May 12, 2009 by daviskrex Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted May 12, 2009 Report Share Posted May 12, 2009 Hmm... Kad liec permissionus nospied advanced un uzliec, lai visi faili un apakšmapes visu manto no šīs mapes tiesībām. Quote Link to comment Share on other sites More sharing options...
daviskrex Posted May 13, 2009 Author Report Share Posted May 13, 2009 (edited) Izmēģinājos krustām šķērsām, bet za to pamanīju - Permission listē IIS_IUSRS - FOLDER ONLY. IIS_IUSRS - FOLDER AND SUBFOLDERS AND FILES. šit folderim stāv divi šādi ieraksti, kurus nav pieejas labot :/ P.S. Sapratu to, ka ar folderi viss kārtībā, bet kad pievienojas jauns fails, tad permisiju listē vispār neparādas IIS_IUSRS. Edited May 13, 2009 by daviskrex 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.