webForumDet fria alternativet

Rättigheter när man laddar upp bild?

PHP

4 svar · 513 visningar · startad av streetrobban

Medlem sedan jan. 20011 140 inlägg
Frågan#1

Tjena,

Jag har ett bildscript som jag använder på en hemsida. Men grejjen är att när jag laddar upp bilder så får de fel rättigheter. De måste få rättigheten 7777 för att man ska kunna visa bilderna på hemsida, och de får bara 700.

Vet någon om felet ligger hos webbhotellet, eller om man där kan ställa in vad alla filer som laddas upp får för rättigheter?

Eller är felet i scriptet? Kan man i scriptet bestämma vilka rättigheter filerna ska få?

Detta är scriptet som laddar upp bilden.

					<?php
				        // In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
					// of $_FILES.
					
					$uploaddir = '../images/products/';
					$uploadfile = $uploaddir . $_FILES['userfile']['name'];
					$filename = $_FILES['userfile']['name'];
					
					if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))
					{
						echo "Name of image<br/>";
						echo "<input type=text name=bild value=\"$filename\" class=input readonly onChange=\"this.value='$filename';\"><br/><br/>";
					} else {
						echo "Filen kunde inte laddas upp.<br/>";
					}
					?>
Medlem sedan mars 2007845 inlägg
#2

644 räcker för att visa bilderna. Dom är iaf inte körbara så 7 är onödigt. Sen kan det vara bra att begränsa skrivrättigheterna till filerna.

chmod($bild, 0644);
Medlem sedan jan. 20011 140 inlägg
#3

Okej, thx för ditt svar :)

Så att detta borde fungera?

<?php
// In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
// of $_FILES.

$uploaddir = '../images/products/';
$uploadfile = $uploaddir . $_FILES['userfile']['name'];
$filename = $_FILES['userfile']['name'];

// Ändra bildens rättighet
chmod($filename, 0644);
                    
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))
 {
	 echo "Name of image<br/>";
	 echo "<input type=text name=bild value=\"$filename\" class=input readonly onChange=\"this.value='$filename';\"><br/><br/>";
} else {
	echo "Filen kunde inte laddas upp.<br/>";
}
?>
Medlem sedan juli 20023 617 inlägg
#4

streetrobban skrev:

Så att detta borde fungera?

Du måste sätta rättigheterna på den flyttade bilden.

<?php
// In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
// of $_FILES.

$uploaddir = '../images/products/';
$uploadfile = $uploaddir . $_FILES['userfile']['name'];
$filename = $_FILES['userfile']['name'];
                    
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))
 {
	 // Ändra bildens rättighet
	 chmod($uploadfile, 0644);
	 echo "Name of image<br/>";
	 echo "<input type=text name=bild value=\"$filename\" class=input readonly onChange=\"this.value='$filename';\"><br/><br/>";
} else {
	echo "Filen kunde inte laddas upp.<br/>";
}
?>
Medlem sedan jan. 20011 140 inlägg
#5

Gött, nu funkar det ju! Tack för era svar :)

251 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)