Hello,
mkdir("data");
chmod("data","0777");
steht da wirklich "0777", also mit Stringbegrenzern drum herum?
Lies dir nochmal den Text im Manual durch:
http://de.php.net/manual/en/function.chmod.php
Die Rechte müssen als INT im übergeben werden. Der Parser erwartet hier also ein entsprechendes Integer-äquivalentes Literal im Oktalformat (also ohne zusätzliche Begrenzungszeichen) und keinen String.
Wenn Du einen String daraus machst, wird das Literal von PHP als Dezimalformat angenommen und dann erst in einen INT umgewandelt.
Die Rechte pauschal hochzuschrauben ist außerdem keine gute Idee. Besser wäre es, eine gemeinsame Gruppe für alle User einzurichten und dann die Gruppenrechte passend festzulegen.
Und immer daran denken: _niedrigste_ zutreffende Rechte gelten!
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg