[PHP] mkdir() maakt rare dirs

Pagina: 1
Acties:

  • sorted.bits
  • Registratie: Januari 2000
  • Laatst online: 19:07
Mmm mijn probleem is het volgende :

als ik een mkdir gebruik in PHP dan maakt hij op mijn webserver een directory aan waar ik geen files uit kan deleten.
Hij maakt de directory aan zonder dat er een owner is.
code:
1
mkdir($abpath."/".$dirname, 644);

Ik heb zo'n beetje alle CHMOD codes al geprobeerd :(

ook met 0777 enzo.

Iemand een idee hoe dit kan ? Of ervaring hier mee ?

P.S. Het gaat om een Unix server.

  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 23:45
Kijk eens wat er in de manual staat over mkdir():
Note that you probably want to specify the mode as an octal number, which means it should have a leading zero. The mode is also modified by the current umask, which you can change using umask().
code:
1
mkdir ("/path/to/my/dir", 0700);

Returns TRUE on success and FALSE on failure.
Er moet dus waarschijnlijk een 0 voor je mode getalletje.

* Rense Klinkenberg heeft er verder geen ervaring mee trouwens

  • sorted.bits
  • Registratie: Januari 2000
  • Laatst online: 19:07
Nope dat is het niet, heb ik allemaal al geprobeerd, het gekke is ook dat ik de files die ik uplaod in die dir (VIA SCRIPT) kan ik niet deleten. Via FTP kan ik niet eens files uploaden in die dir.

  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 23:45
Dan zal je waarschijnlijk geen schrijf rechten hebben op die directory en de webserver blijkbaar ook niet. Probeer eens te achterhalen of die directory wel de goede access levels heeft.

  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
hier ook aan gedacht:
The mode is also modified by the current umask, which you can change using umask().

  • sorted.bits
  • Registratie: Januari 2000
  • Laatst online: 19:07
Het gekke is, als ik de dir aanmaak met PHP code, heeft juist alleen de webserver er rechten, ik wil er zelf via FTP ook bij kunnen (het valt binnen mijn domein en moet dus werken)

Als ik een dir aanmaak zonder een file er in... dan kan ik hem ook wel deleten... zodra ik er een file in zet (met user Nobody, schijnt), via PHP dus, dan kan ik de file niet meer deleten en de dir ook niet dus.

Als ik daar via FTP toegang een file in probeer te zetten dan krijg ik een permission denied... ik snap er niets van. En van die unmask snap ik ook niets.... dat heb ik al geprobeerd namelijk..

  • igmar
  • Registratie: April 2000
  • Laatst online: 09-09 19:53

igmar

ISO20022

Mmm mijn probleem is het volgende :

als ik een mkdir gebruik in PHP dan maakt hij op mijn webserver een directory aan waar ik geen files uit kan deleten.
Hij maakt de directory aan zonder dat er een owner is.
code:
1
mkdir($abpath."/".$dirname, 644);

Ik heb zo'n beetje alle CHMOD codes al geprobeerd :(
De ownder is altijd de webserver. Directories zonder owner bestaan simpelweg gewoon niet.

Laat trouwens die laatste / weg, dies niet nodig. Ik zal morgen even kijken wat ie op onze server doet.

  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
wat voor chmod staat de dir op als je hem hebt gemaakt?

kan je wel checken met je ftp-prog..

  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 23:45
Als de directory door php wordt aangemaakt, is de webserver dus owner.

Als jij via ftp inlogd, gebruik je een andere naam dan de webserver, waarschijnlijk zit je ook in een andere group. Vandaar dat je er met je ftp proggie waarschijnlijk niet bij kan.

  • cobratbq
  • Registratie: Maart 2001
  • Laatst online: 17-12-2015
Kun je hem d.m.v. PHP code niet wissen dan?
Zou dan misschien wel werken, want PHP heeft het ook aangemaakt.

One ring to rule them all, one ring to find them, one ring to bring them all, and in darkness bind them...


  • igmar
  • Registratie: April 2000
  • Laatst online: 09-09 19:53

igmar

ISO20022

Kun je hem d.m.v. PHP code niet wissen dan?
Zou dan misschien wel werken, want PHP heeft het ook aangemaakt.
Da's geen probleem, probleem is dat die dir leeg moet wezen. Dit is ook een van de redenen dat alle vhosts een aparte user hebben :)

Verwijderd

Doe eens dit:
PHP:
1
2
3
4
5
6
<?
$dir = "$abpath/$dirname";
$dirbool = mkdir($dir, 0644);
if($dirbool == true) echo "$dir aangemaakt";
else echo "$dir niet aangemaakt";
?>

Als dit niet werkt, kijk dan of a) schrijfrechten hebt op die disk, b) php dit ook heeft (safe-mode?) c) (voor jou niet relevant omdat je linux draait) welk OS je webserver op draait (0644 CHmodden heeft weinig zin op win95... ;))

Verwijderd

Op dinsdag 29 januari 2002 15:14 schreef daniel_hoenderdos het volgende:
Doe eens dit:
PHP:
1
2
3
4
5
6
<?
$dir = "$abpath/$dirname";
$dirbool = mkdir($dir, 0644);
if($dirbool == true) echo "$dir aangemaakt";
else echo "$dir niet aangemaakt";
?>

Als dit niet werkt, kijk dan of a) schrijfrechten hebt op die disk, b) php dit ook heeft (safe-mode?) c) (voor jou niet relevant omdat je linux draait) welk OS je webserver op draait (0644 CHmodden heeft weinig zin op win95... ;))
is dit probleem nou nog opgelost? en zo ja hoe? want ik heb hetzelfde probleem :(

  • sorted.bits
  • Registratie: Januari 2000
  • Laatst online: 19:07
Yup dit probleem is opgelost, door er een umask(0); voor te zetten.

Dus :
code:
1
2
    umask(0);       
    mkdir("mydirnamehere", 0777);

Verwijderd

Op woensdag 06 februari 2002 15:48 schreef XTracer het volgende:
Yup dit probleem is opgelost, door er een umask(0); voor te zetten.

Dus :
code:
1
2
    umask(0);       
    mkdir("mydirnamehere", 0777);
thnx ;)
Pagina: 1