Avatar billede Mik2000 Professor
06. april 2007 - 02:03 Der er 10 kommentarer og
1 løsning

Mega mkdir problem

Hej

Jeg har et stort problem med mkdir

Problemet er at serveren har PHP safe mode slået til

Jeg skal lave følgende:
mkdir("../images/galleri/album1", 0777)
mkdir("../images/galleri/album1/smallimg", 0777)

Når denne kører så kommer der:
Warning: mkdir(): SAFE MODE Restriction in effect. The script whose uid is xxxx is not allowed to access STIEN owned by uid yyyy

Den kan lave den første mappe fordi galleri er sat til 777. Men den kan ikke lave mappen smallimg fordi den ikke sætter mappen album1 til 777 som jeg ønsker, men derimod til 755
... tror i hvert fald det er derfor

Hvordan kan man løse det?

Jeg kan ikke ændre opsætning her da det er hos One.com
Avatar billede showsource Seniormester
06. april 2007 - 06:58 #1
Udover det normalt er en go' ting at bruge den fulde disksti ved filhåndtering, så prøv at chmod() efter dir er blevet lavet.

mkdir("../images/galleri/album1", 0777);
chmod("../images/galleri/album1", 0777);
mkdir("../images/galleri/album1/smallimg", 0777);
chmod("../images/galleri/album1/smallimg", 0777);
Avatar billede Mik2000 Professor
06. april 2007 - 12:46 #2
Hej
Ved fuld sti giver den samme problem. Php safe mode tillader heller ikke CHMOD
Avatar billede Mik2000 Professor
06. april 2007 - 17:12 #3
coder_dk eller jakobdo ved I det evt?
Avatar billede johan.o Nybegynder
06. april 2007 - 20:00 #4
Så vidt jeg ved, gives 'ownership' af et directory skabt med mkdir() til serveren.

Det betyder at når dit script efterfølgende prøver at lave et subdirectory nægtes dette da scriptets 'ownership' ikke er identisk med 'ownership' af det directory du arbejder i, og under 'safe_mode' operation gives rettigheder til f.eks. mkdir() kun hvis 'ownership' er ens.

Så jeg tror ikke det er skrive, læse eller executive rettighederne der driller dig, men derimod problemer med 'ownership'....men så kan jeg vel bruge chown()...nej, under 'safe_mode' laves der samme sammenligning af 'ownership' før chown() accepteres.

Så jeg kan ikke umiddlebart se hvordan du kommer ud over dette problem...andet end at lave din struktur om (kun et underliggende directory lavet med mkdir).

Mvh. Johan
Avatar billede Mik2000 Professor
06. april 2007 - 20:02 #5
Hmmm safe mode er noget lort :)
Avatar billede johan.o Nybegynder
06. april 2007 - 20:13 #6
He he...

Faktisk bliver jeg i tvivl om du overhovedet kan skabe, redigere og slette filer i det 'nye' directory, da der måske også laves 'ownership' sammeligning ved disse operationer....men det finder du jo nok ud af om jeg har ret i eller ej :)

Som en lille fodnote kan det da nævnes at 'safe_mode' ikke eksistere i php ver. 6...så til den tid har dit 'problem' måske løst sig selv :)

Mvh. Johan
Avatar billede showsource Seniormester
07. april 2007 - 16:09 #7
hmm, hvis du med alm. ftp opretter et dir, "galleri", og chmod'er det til 0777 med dit ftp program, og efterflg. med php bruger:

mkdir("../images/galleri/album1", 0777);
chmod("../images/galleri/album1", 0777);
mkdir("../images/galleri/album1/smallimg", 0777);
chmod("../images/galleri/album1/smallimg", 0777);

burde der ikke være nogen problemer.
Og hvis der er, så prøv med $_SERVER["DOCUMENT_ROOT"],

mkdir($_SERVER["DOCUMENT_ROOT"] ."/images/galleri/album1", 0777);
chmod($_SERVER["DOCUMENT_ROOT"] ."/images/galleri/album1", 0777);
mkdir($_SERVER["DOCUMENT_ROOT"] ."/images/galleri/album1/smallimg", 0777);
chmod($_SERVER["DOCUMENT_ROOT"] ."/images/galleri/album1/smallimg", 0777);
Avatar billede Mik2000 Professor
07. april 2007 - 21:27 #8
Desværre.... den får heller ikke lov pga uid nummeret :(
Avatar billede Mik2000 Professor
08. april 2007 - 02:05 #9
Tak for alle jeres svar. Desværre ingen løsning. Men ser da frem til PHP 6. Ved du hvornår det kommer?
Avatar billede johan.o Nybegynder
08. april 2007 - 09:33 #10
Velbekomme, og nej det ved jeg ikke.

Mvh. Johan
Avatar billede drbean Nybegynder
09. april 2007 - 18:20 #11
der er en løsning. Den er ikke pæn men den er der. Løsningen er at bruge ftp funktioner via php til at oprette mapperne. (http://dk.php.net/ftp)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester