Avatar billede intel4004 Novice
14. februar 2004 - 21:03 Der er 7 kommentarer og
1 løsning

Angående safe mode og UID

Jeg har et almindeligt webhotel og er ny kommet i tvivl om hvor vidt man egentlig er i stand til at oprette et nyt bibliotek med mkdir(), og derefter eje alle rettigheder til det bibliotek.

Jeg har med mkdir() oprettet et bibliotek, men forsøger jeg at kopiere en fil til mappen med copy() får en melding om at safe mode restrictions er aktive og at mappen er ejet af en anden UID end den jeg har i øjeblikket.

Er det muligt at oprette mapper i PHP på webhotellet, samtidig med at man bliver ejer over mappen (at ens UID ejer rettighederne)??

Mvh Intel4004
Avatar billede htm Nybegynder
14. februar 2004 - 22:50 #1
Går ud fra at det er en fil oploaded via php?

i så fald prøv og brug http://dk.php.net/move-uploaded-file i stedet for copy.
Avatar billede intel4004 Novice
14. februar 2004 - 23:34 #2
Filen er ikke uploadet, men ligger på filserveren. Det er et projektstyringssystem hvor filen bliver kopieret fra sin originale
lokation til en midlertidig mappe. Dette har altså intet at
gøre med upload da filen her allerede er uploadet. Når folk
der benytter systemet, vil bruge en oploadet fil bliver den
kopieret til en midlertidig mappe og vist derfra.

move_uploaded_file() virker fint, men den gav også samme fejl
først. Her brugte jeg FTP og chmod'ede mit faste uploadbibliotek
med 777. Nu kunne jeg sagtens uploade filer. Men en mappe
oprettet med mkdir(), ejer jeg ikke før jeg tvinger rettighederne
ind vha. af ftp chmod().

Dette giver jo ingen mening med en midlertidig mappe.

Mvh Intel4004
Avatar billede htm Nybegynder
14. februar 2004 - 23:39 #3
Du kan evt. bruge chmod fra php: http://dk.php.net/manual/en/function.chmod.php

Ellers kan du måske tjekke brugeren af scriptet med: http://dk.php.net/manual/en/function.fileowner.php og ændre brugeren på filen med http://dk.php.net/manual/en/function.chown.php
Avatar billede intel4004 Novice
15. februar 2004 - 00:05 #4
chmod() i php har jeg aldrig fået til af fungere - har ingen effekt.
Jeg bruger koden:

mkdir('./directory', 0777);
chmod('./directory', 0777);

Jeg kender mit UID, og chown() har jeg rettigheder til.

Men jeg kender også UID på nye mapper som er ejet af 48. Kan jeg bruge det til noget?

Mvh Intel4004
Avatar billede htm Nybegynder
15. februar 2004 - 00:11 #5
chmod("directory", 0777); virker den ikke?

du kan måske ændre filens ejer vha. chown();
Avatar billede intel4004 Novice
15. februar 2004 - 08:28 #6
Undskyld - chown() har jeg IKKE rettigheder til.

Og nej, chmod() har ingen efffekt på mit problem.

Jeg kan se det webhotel jeg bruger, har PHP installeret med FTP-funktioner. Muligvis kunne jeg logge ind via ftp og chmod'er derfra (som altid har virket).

Men i har aldrig hørt om problemet før?

Intel4004
Avatar billede sukos Juniormester
15. februar 2004 - 08:51 #7
Brug den fulde sti til dir, f.eks.
chmod($_SERVER["DOCUMENT_ROOT"] ."/dirnavn", 0777);
Avatar billede intel4004 Novice
23. februar 2004 - 17:27 #8
Lukker spørgsmålet. Jeg tager selv pointene da jeg ikke modtog noget konkret hjælp som fungerede.

Jeg fik det til at virke ved at logge ind via FTP og oprette mapperne på FTP-niveau, chmod'en vha. af FTP. Herefter kan jeg slette dem på script-niveau så det skal også gøres med FTP.

Forstår ikke at nogen aldrig har haft at gøre med dette problem :)

Mvh Intel4004
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