Gå til innhold

Problemer med rettigheter etter mkdir


Anbefalte innlegg

Skrevet

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

Videoannonse
Annonse
Skrevet

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();
   	}
   }

Skrevet (endret)

Har samme problem :cry:

Har flyttet en goood del mapper og filer til "SLETT MEG" mappa mi på ftpen..

 

EDIT: endret good til goood :p

Endret av goggen90
Skrevet
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?

Skrevet

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.

Skrevet

Viste seg at jeg hadde satt inn en chmod lengre ned i scriptet som jeg hadde glemt... :p

 

@chmod($gallery_path.$album_catalog."/".$image_name,0646);

 

Fjernet den, så ble alt OK! :D

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...