Avatar billede majbom Novice
15. oktober 2007 - 11:11 Der er 28 kommentarer og
2 løsninger

problemer med at uploade til mappe oprettet af script

hej experter

har aldrig haft problemer med at uploade filer, men nu driller det godt nok lidt...

jeg har et script der opretter en mappe og chmod'er den til 0774, men så får jeg safe mode restriction fejl. hvis jeg selv opretter mappen vha filezilla og chmod'er den til 774 kan jeg godt uploade til den...
jeg har også prøvet med 0777, det er det samme...

hvorfor kan det ikke virke?
Avatar billede dkfire Nybegynder
15. oktober 2007 - 11:26 #1
Du giver næsten selv svaret, fordi safe mode er sat on.
Slå safe mode fra hvis du vil have det til at virke.
Avatar billede majbom Novice
15. oktober 2007 - 11:29 #2
det kan simpelthen ikke lade sig gøre at oprette en mappe vha et script og derefter uploade til den, når safe mode er slået til?

synes da bare det er mærkeligt når jeg godt kan uploade til mapper jeg opretter manuelt...
Avatar billede sw_red_6 Nybegynder
15. oktober 2007 - 11:43 #3
Det er fordi du prøver at lave noget i en mappe hvor du ikke står som owner, det gør webserveren.. Det er i hvert fald det der tjekkes når safe_mode er slået til

Hvordan ser din mkdir() ud?

Her er lidt inspiration:
http://docs.php.net/manual/en/function.mkdir.php#73848
http://docs.php.net/manual/en/function.mkdir.php#68855
Avatar billede majbom Novice
15. oktober 2007 - 11:47 #4
jeg opretter mappen således:

$dir = "../img/stores/".$_GET['id'];
if(!is_dir($dir)){
  mkdir($dir, 0774);
}
Avatar billede dkfire Nybegynder
15. oktober 2007 - 12:14 #5
hvad er din chmod for stores, som jeg går ud fra der en mappe hvor du gerne vil lave andre mapper i.
Avatar billede majbom Novice
15. oktober 2007 - 12:16 #6
den er også 774
Avatar billede dkfire Nybegynder
15. oktober 2007 - 12:19 #7
Har du prøvet at give den fulde sti til stores, i stedet for en relativ sti ??
Avatar billede majbom Novice
15. oktober 2007 - 12:22 #8
nej... det er noget med document_root, right?
Avatar billede dkfire Nybegynder
15. oktober 2007 - 12:25 #9
Ja foreksempel, hvis document_root er sat.
Vær lige opmærksom på om du bruger en windows server, så skal stien skrives anderledes.
Avatar billede majbom Novice
15. oktober 2007 - 12:29 #10
nu har jeg gjort sådan her:
$dir = $_SERVER['DOCUMENT_ROOT']."/site/img/stores/".$_GET['id'];
if(!is_dir($dir)){
  mkdir($dir, 0774);
  chmod($dir, 0774);
}
og nu kan jeg hverken uploade, eller få adgang til mappen via filezilla
Avatar billede dkfire Nybegynder
15. oktober 2007 - 12:33 #11
Den heller vel heller ikke /site/img/stores/.
Hvordan ser din document_root ud ???
Er du på en Unix eller windows server ??
Avatar billede majbom Novice
15. oktober 2007 - 12:37 #12
jo, den hedder /site/img/stores/. (komplet sti: /domains/www.DOMÆNE.dk/www/site/img/stores/)

når jeg echo'er $_SERVER['DOCUMENT_ROOT'] får jeg /domains/www.DOMÆNE.dk/www

jeg er på en unix-server
Avatar billede majbom Novice
15. oktober 2007 - 12:40 #13
15/10-2007 12:29:39 skulle have set såden her ud:

nu har jeg gjort sådan her:
$dir = $_SERVER['DOCUMENT_ROOT']."/site/img/stores/".$_GET['id'];
if(!is_dir($dir)){
  mkdir($dir, 0774);
}
og nu kan jeg hverken uploade, eller få adgang til mappen via filezilla
Avatar billede dkfire Nybegynder
15. oktober 2007 - 12:52 #14
Men kan du se mappen via filezilla ?
Avatar billede majbom Novice
15. oktober 2007 - 13:04 #15
jeg kan godt se den, men jeg må ikke se indholdet (selvom den er tom), jeg får en "access denied" besked...
Avatar billede dkfire Nybegynder
15. oktober 2007 - 13:17 #16
hmmm, du kan vel heller ikke slette den så ??
Men nu kan du godt oprette mappen.
Hvilken version af php bruger du ??
Avatar billede majbom Novice
15. oktober 2007 - 13:20 #17
nej jeg kan heller ikke slette den med filezilla, kun med php-scripts :s

jeg har hele tiden kunne oprette mapper, har bare ikke fået lov til at uploade til den endnu...
Avatar billede dkfire Nybegynder
15. oktober 2007 - 13:31 #18
Hvis du opretter en mappe uden chmod på, dvs mkdir( $dir ); hvad får den så af ejer og rettigheder ??
Avatar billede majbom Novice
15. oktober 2007 - 13:37 #19
0757 vår den og jeg kan stadig ikke uploade til den, men godt se/slette den vha filezilla
Avatar billede majbom Novice
15. oktober 2007 - 13:40 #20
vår = får :)
Avatar billede sw_red_6 Nybegynder
15. oktober 2007 - 13:42 #21
hvad med ejer?

Det er sandsynligvis fordi du prøver at lave noget i en mappe du ikke er ejer af og ikke er medlem af gruppen..
Jeg er ikke helt sikker på hvem der bliver sat som ejer af en fil der uploades, men en mappe der oprettes af en php-script er ejet af webserveren/php og de er sikkert i en gruppe som du ikke har adgang til som alm. bruger
Avatar billede majbom Novice
15. oktober 2007 - 13:50 #22
hvordan kan jeg se "hvem" ejeren er?
Avatar billede sw_red_6 Nybegynder
15. oktober 2007 - 14:09 #23
det burde du kunne se i filezilla..
Hvis du kigger i den side du har serveren, er der en liste med filer..
Øverst i den ramme yderst til højre burde du kunne se en overskrift hvor der står Ejer / Gruppe. I den række kan du se hvem der står som ejer
Avatar billede majbom Novice
15. oktober 2007 - 14:18 #24
aah...

ejeren er ikke den samme når det er scriptet, som når jeg selv opretter en mappe
Avatar billede dkfire Nybegynder
15. oktober 2007 - 15:43 #25
Nej det er klart, ejeren vil være webserveren når det er scriptet som laver mappen, men du vil være ejeren når du laver mappen.

Hvor uploader du dine filer til mappen ??
Har du prøvet at skrifte chmod efter du har oprettet mappen med mkdir ??
Avatar billede majbom Novice
15. oktober 2007 - 17:51 #26
hvor jeg uploader filerne? er ikke lige med, hvor jeg gør det fra?

jeg har prøvet at køre en chmod(0774); bagefter mkdir(); men det ændrer ikke noget
Avatar billede majbom Novice
15. oktober 2007 - 17:52 #27
chmod($dir, 0774); self.
Avatar billede majbom Novice
17. oktober 2007 - 10:01 #28
nå, der er åbenbart ikke noget at gøre under safe_mode... :(

jeg må finde på en anden løsning.

takker for hjælpen drenge, smid et svar, så kan i dele
Avatar billede dkfire Nybegynder
17. oktober 2007 - 11:46 #29
Jeg svare da gerne, men tror nu godt det burde kunne virke under safe mode, har dog aldrig prøvet.

Synes nu også det er lidt underligt at din host kører med safe mode til.
Avatar billede sw_red_6 Nybegynder
17. oktober 2007 - 11:52 #30
Det er muligt at lave med safe_mode = on, men det kræver en del mere indsigt i hvordan php virker end jeg har...
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