ZoRaC Skrevet 24. januar 2006 Skrevet 24. januar 2006 Har et PHP-script som oppretter mapper. Har satt 777 som rettighet på "hovedmappen", men når jeg kjører PHP-scriptet opprettes mappen med helt andre rettigheter, jeg får faktisk ikke tilgang til den med verken PHP eller FTP-kontoen min etterpå. Er det noe jeg kan gjøre i scriptet som opprettet mappen for å unngå dette? Er det dårlig server-oppsett som fører til dette? Ser det står "httpd:httpd" på eierskapet på mappen som opprettes... Det er forresten en linux-server...
Loomy Skrevet 24. januar 2006 Skrevet 24. januar 2006 CHMODer du samtidig som du mkdir'er den? Hvis ikke, prøv det: mkdir("/path/to/my/dir", 0777);
ZoRaC Skrevet 24. januar 2006 Forfatter Skrevet 24. januar 2006 Ja, gjør det: if (!is_dir($gallery_path.$album_catalog)) { // Create folder if(!mkdir($gallery_path.$album_catalog, 0777)){ chmod($gallery_path.$album_catalog, 0777); echo "Unable to create folder!<br>"; exit(); } }
nree Skrevet 24. januar 2006 Skrevet 24. januar 2006 (endret) Har samme problem Har flyttet en goood del mapper og filer til "SLETT MEG" mappa mi på ftpen.. EDIT: endret good til goood Endret 30. januar 2006 av goggen90
ZoRaC Skrevet 30. januar 2006 Forfatter Skrevet 30. januar 2006 Har nå testet samme kode på en FreeBSD-server, og får samme problem. Noen ideer?
ilpostino Skrevet 31. januar 2006 Skrevet 31. januar 2006 Har nå testet samme kode på en FreeBSD-server, og får samme problem. Noen ideer? 5521786[/snapback] hvilken feilmelding får du? hvorfor bruker du chmod når de samme rettighetene gis når du oppretter mappen egentlig?
blacktower Skrevet 31. januar 2006 Skrevet 31. januar 2006 Mappen opprettes av Apaches bruker (httpd). Det er mulig at denne brukeren eller Apache selv (safe_mode e.l.) har en begrensning som at du ikke kan sette andre rettigheter en det som er standard. Den eneste måten å omgå dette som jeg kommer på i farten er å logge inn via FTP fra scriptet og opprette mappene på den måten. En annen fordel med dette er at mappene da eies av din bruker. PHP har en egen funksjon for dette: <?php $dir = 'www'; // set up basic connection $conn_id = ftp_connect($ftp_server); // login with username and password $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); // try to create the directory $dir if (ftp_mkdir($conn_id, $dir)) { echo "successfully created $dir\n"; } else { echo "There was a problem while creating $dir\n"; } // close the connection ftp_close($conn_id); ?> http://uk2.php.net/manual/en/function.ftp-mkdir.php Om du bruker PHP 5 kan du bruke ftp_chmod() for å sette rettighetene deretter. Du vil ikke kunne forandre rettighetene på en mappe fra din bruker dersom den først er opprettet av Apaches bruker.
ZoRaC Skrevet 31. januar 2006 Forfatter Skrevet 31. januar 2006 Viste seg at jeg hadde satt inn en chmod lengre ned i scriptet som jeg hadde glemt... @chmod($gallery_path.$album_catalog."/".$image_name,0646); Fjernet den, så ble alt OK!
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå