webForumDet fria alternativet

Bilduppladdning och chmod

10 svar · 875 visningar · startad av MickeA.com

MickeA.comMedlem sedan feb. 20034 441 inlägg
#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!

vicMedlem sedan apr. 2006244 inlägg
#2

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

MickeA.comMedlem 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?

PeddaMedlem sedan juni 20006 032 inlägg
#4

Det är inte en windows server?

nitro2k01Medlem sedan aug. 20039 342 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.

MickeA.comMedlem 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?

nitro2k01Medlem sedan aug. 20039 342 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)

MickeA.comMedlem 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?

MickeA.comMedlem 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?

metalboyMedlem 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).

MickeA.comMedlem 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!

129 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)