Hallo,

Ik probeer in een script d.m.v. de functie mkdir() een map aan te maken. De naam van die map wordt bepaald door een variabele die ik mee geef. Als ik gewoon het pad invoer (zonder variabele) zoals hieronder, dan wordt er netjes een mapje aangemaakt:

mkdir('/home/account/domains/voorbeeld.nl/public_html/map/ditmapjewordtgemaakt', 0777);

Maar als ik in dat pad een variabele verwerk, dan zegt hij dat de map al bestaat:

mkdir('/home/account/domains/voorbeeld.nl/public_html/map/'.$variabele, 0777);

Ik denk dat dat komt omdat ik de variabele niet goed meegeef in het pad, en dat hij dus denkt dat ik een map zonder naam wil aanmaken en dat die dus al bestaat. Dus mijn vraag, hoe plak ik in dat pad binnen mkdir() een variabele erachter?
Meer relevante code en een bewijs dat de variabele is ingevuld en karakters bevat welke toegestaan zijn.

En 0777 is veels te veel van het goede!!!
Path is goed. Denk dat $variabele leeg is/niet bestaat. Doe eens een echo.
Ik heb inmiddels de variabele werkend gekregen, maar wanneer ik de functie uitvoer ZONDER variabele, wordt er netjes een mapje aangemaakt, maar wanneer ik hem uitvoer MET variabele krijg ik deze melding:

Warning: mkdir() [function.mkdir]: open_basedir restriction in effect. File() is not within the allowed path(s)

Waarom zonder variabele wel het goede pad, en met niet, terwijl hij gewoon de waarde van variabele achter het pad plakt....
Zolang jij niet laat zien wat er in $variabele zit en ook niet het relevante stukje code blijft het een beetje gokken.
na 0777 even , true toevoegen zorgt ervoor dat recursieve mappen aangemaakt kunnen worden. (Als de inhoud van je var bijvoorbeeld een slash bevat zal het nu wel werken).

Reageren