misterunknown: chmod funktioniert nicht richtig

Beitrag lesen

Moin,
ich habe ein seltsames Problem mit chmod. Einen Fehler gibt es nicht, aber es werden die falschen Dateirechte gesetzt. Hier mein Code:

if($cmi) {  
	try {  
		chmod($_POST["filename"],(int)$chmod);  
		print '<span class="message">Sucessfully changed file permissions to '.$chmod.'.</span>';  
	} catch (Exception $e) {  
		print '<span class="error">There occured an error while changing file permissions to '.$_POST["filename"].'. Error: '.$e->getMessage().'</span>';  
	}  
}  
else print '<span class="error">The file permissions could not be set to '.$_POST["chmod"].'. Check syntax.</span>';

Der entsprechende Wert wird per Post übergeben ($_POST["chmod"]). Vorher bearbeite ich den Wert noch etwas, damit man auch rwxrwxrwx eingeben kann. $chmod hat am Ende entweder einen Wert in der Form 775, oder $cmi ist false.

Ich habe schon probiert noch eine Null davor zu setzen (also 0775) oder per decoct($chmod) umzuformen. Alles bringt keinen Erfolg.
Hier mal ein paar Beispiele:
  - 777 wird 411
  - 755 wird 363
  - 644 wird 204
  - 640 wird 200

Nur 000 bleibt 000, was aber keinem etwas bringt. Was mache ich falsch?

Grüße Marco