webForumDet fria alternativet

Bilduppladdning och chmod

PHP

10 svar · 875 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Frågan#1

Hej,

Håller på med en applikation för att ladda upp bilder.
Det funkar så att man skapar album och sen laddar upp bilder. Album samt filnamn sparas i en MySQL databas.

Hur som helst så har jag dykt på ett problem, när jag laddar upp en bild så kontrolleras det om mappen "<albumnamn>" finns, gör den inte det ska den skapas.

Såhär har jag gjort:

$result = mysql_query("SELECT album_name_int FROM gallery_album WHERE album_id = " . $picture_parent . " LIMIT 1") or die("<p>An error occurred:<br />" . mysql_error() . "</p>");
	if(!(mysql_num_rows($result) == false)){
		$album_path = mysql_result($result, 0);
	}else{
		$error[]	= "Ett fel uppstod med katalogen.";
	}
	mysql_free_result($result);
	
	if(!file_exists(ROOTPATH . "galleri/" . $album_path)){
		if(!mkdir(ROOTPATH . "galleri/" . $album_path, "0777")){
			$error[] = "Kunde inte skapa mappen '" . "galleri/" . $album_path; 
		}
	}
	chmod(ROOTPATH . "galleri/" . $album_path . "/", "0777");

ROOTPATH är sökvägen från "/home" och vidare till min public_html mapp. Ligger hos Binero och alla mappar som skapas där får 0755 som standard. Detta försöker jag fixa med chmod, men jag får hela tiden "Kunde inte skapa mappen".

Hur löser jag det här på bästa sätt?

Tack!

Medlem sedan apr. 2006244 inlägg
#2

Förmodligen är det väl mappen galleri som har fel filrättigheter.

Medlem sedan feb. 20034 441 inlägg
#3

"Galleri" har 777, problemet är att alla nya mappar som skapas inuti den får fel rättighet. Och det verkar bara gå att ställa om via Bineros kontrollpanel.

Eller finns det något annat jag kan göra?

Medlem sedan juni 20006 031 inlägg
#4

Det är inte en windows server?

Medlem sedan aug. 20039 340 inlägg
#5

Varför, VARFÖR! vill du ha 777 som rättigheter? Att ge skrivrättigheter till gruppen alla användare, särskilt tillsammans med rättigheter att köra filen, innebär ett stort säkerhetshål, och varje vettigt webhotell bör göra som Binero i detta fall.

Medlem sedan feb. 20034 441 inlägg
#6

Pedda skrev:

Det är inte en windows server?

Nej, SPIDERMAN hos Binero, alltså FreeBSD.

nitro2k01 skrev:

Varför, VARFÖR! vill du ha 777 som rättigheter? Att ge skrivrättigheter till gruppen alla användare, särskilt tillsammans med rättigheter att köra filen, innebär ett stort säkerhetshål, och varje vettigt webhotell bör göra som Binero i detta fall.

Det vill jag inte, men testade det när ingen annat funkade. Eftersom detta inte heller fungerar, så vet jag inte riktigt vad jag ska göra.

Fler förslag?

Medlem sedan aug. 20039 340 inlägg
#7

Vad händer om du bara skapar mappen med 0755? Vilka rättigheter får filerna som laddas upp i mappen? (Inte mappen själv)

Medlem sedan feb. 20034 441 inlägg
#8

Såhär ligger det till:
- /galleri har 0775.
- /galleri/<albumnamn> (skapas när en bild laddas upp) får 0405 av någon anledning.

Jag gissar att felet ligger i 0405, visst är det därför bilden inte kan laddas upp?

Medlem sedan feb. 20034 441 inlägg
#9

Jag försöker manuellt att sätta mappen /galleri/<albumnamn> till 0755 via FlashFXP, men får "Operation not permitted".

Det verkar alltså inte gå att ändra rättigheter, varken med script eller ett ftp program.

Några fler förslag?

Medlem sedan jan. 2005953 inlägg
#10

Har du aktiverat visning av felmeddelanden? Ett fullt felmeddelande från PHP kan ju tänkas erbjuda mer information än "Kunde inte skapa mappen..."

Lite O.T.-fråga: Varför anger du "0777" som en sträng? Det ska ju vara ett heltal (0777).

Medlem sedan feb. 20034 441 inlägg
#11

metalboy skrev:

Lite O.T.-fråga: Varför anger du "0777" som en sträng? Det ska ju vara ett heltal (0777).

Ahh, tror du inte att allt funkade direkt när jag tog bort " " runt 0775 :)
Tack för hjälpen!

262 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)