Jump to content
php.lv forumi

Recommended Posts

Posted

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); }

Posted (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 by daviskrex
Posted

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.

Posted (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 by daviskrex
Posted (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 by daviskrex

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...