login  Naam:   Wachtwoord: 
Registreer je!
 Forum

mkdir function ..

Offline WimJ - 22/07/2007 15:03
Avatar van WimJGrafische gevorderde Beste Sime People,

Heb volgend 'scriptje'

  1. <?php
  2.  
  3. // MySQL Connectie maken met de server.
  4.  
  5. $mysql['host'] = "localhost"; //Hostnaam (localhost in de meeste gevallen).
  6. $mysql['gebruikersnaam'] = "***"; //Database Gebruikersnaam.
  7. $mysql['wachtwoord'] = "***"; //Wachtwoord van de database gebruiker.
  8. $mysql['database'] = "***"; //Database naam.
  9.  
  10. mysql_connect($mysql['host'],$mysql['gebruikersnaam'],$mysql['wachtwoord']);
  11. mysql_select_db($mysql['database']);
  12.  
  13. // De gebruikersnaam ophalen uit de database leden.
  14. // En deze dan invoegen in de string mkdir voor map met gebruikersnaam aan te maken.
  15.  
  16. $gebruikersnaam="SELECT gebruikersnaam FROM leden WHERE id";
  17.  
  18. mkdir($_SERVER['DOCUMENT_ROOT'] . '$gebruikersnaam' , 0777);
  19.  
  20. ?>


Nu geeft hij deze error weer 


Warning: mkdir() [function.mkdir]: Permission denied in /home/dumpit/domains/dumpit.be/public_html/mkdir.php on line 26

Line 26 komt overeen met die mkdir string ..

Nu wat moet hij doen precies ?
Gebruikersnaam uit de database halen, en kijken of al een map met deze naam bestaat.
Zo niet moet hij die aanmaken met die functie mkdir.

Maar dus jah je ziet het een error ..
Wie kan het even oplappen ?

En oohjah hoe zorg ik ervoor dat hij die controle uitvoert elke seconde van de dag ?
Dus eingelijk een permanente controle zodat..
Als een user zijn eigen geactiveerd heeft hij dit herkend en de map aanmaakt .. ??

Iemand die me kan helepen ? / code even oplappen met die error en die if else controle ?

11 antwoorden

Gesponsorde links
Offline Webtijn - 22/07/2007 15:04 (laatste wijziging 22/07/2007 15:07)
Avatar van Webtijn PHP interesse Vraag 1:
Al gechmod naar 777? (De map schrijfrechten gegeven?)

Vraag 2:
Een cron elke seconde uit laten voeren is echt not-done tegenwoordig. Gewoon bij de registratie (of activatie) de map aanmaken ;)


*Voortaan je post 2x doorlezen, ik moest het verhaal 5x lezen voordat ik er wat van begreep*
Offline WimJ - 22/07/2007 15:11
Avatar van WimJ Grafische gevorderde vraag 1: ja de map heeft chmod 777

vraag 2: hoe kan ik dat dan doen die cron dat hij bij activitatie nakijkt..

Verder hulp gevraagd voor bovenstaand probleem en orgineel topic probleem..
Want ik er geraak er niet uit 
Offline Pastebin - 22/07/2007 15:34 (laatste wijziging 22/07/2007 15:38)
Avatar van Pastebin Nieuw lid Ok, why the fuck staat die $gebruikersnaam tussen haakjes?

  1. mkdir($_SERVER['DOCUMENT_ROOT'] . $gebruikersnaam , 0777)

Dat zal al iets logischer zijn.. maar nog het belangerijkste: doe eens
  1. echo $_SERVER['DOCUMENT_ROOT'] . $gebruikersnaam;


Ik denk dat dat zal moeten worden
  1. mkdir($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . $gebruikersnaam , 0777)




On the other hand:
  1. SELECT gebruikersnaam FROM leden WHERE id

Moet dat niet id = $_SESSION['iets'] zijn?

  1. $gebruikersnaam = mysql_result(mysql_query("SELECT gebruikersnaam FROM leden WHERE id = " . $_SESSION['gebruiker']), 0);
Zo bijvoorbeeld..

En waarom een map aanmaken met als naam de gebruikersnaam, zou je niet beter het gebruikersID gebruiken daarvoor?
Offline WimJ - 22/07/2007 15:43
Avatar van WimJ Grafische gevorderde jah maar dan meoet ik plaats van gebruikersnaam het id invoegen in die mkdir string hé ?

En ik zal alles eens proberen
Offline Webtijn - 22/07/2007 17:05
Avatar van Webtijn PHP interesse
coolcoke schreef:
vraag 1: ja de map heeft chmod 777

vraag 2: hoe kan ik dat dan doen die cron dat hij bij activitatie nakijkt..

Verder hulp gevraagd voor bovenstaand probleem en orgineel topic probleem..
Want ik er geraak er niet uit 


Kijk nog maar is na, anders zou je die fout ook niet krijgen hè ;)
Offline WimJ - 22/07/2007 17:11
Avatar van WimJ Grafische gevorderde pff nu zit ik in de rats met die sessie dat murfy zo heeft toegapst die ene error is weg maar nu geeft hij error weer over die sessie 
Offline Wim - 22/07/2007 17:18
Avatar van Wim Crew algemeen waarom niet gewoon:
mkdir ('./'.$username); # maakt de directory $username in de huidige directory aan
of
mkdir('../'.$username); #maakt de directory $username in de onderliggende directory aan
of evt
mkdir('./userdirs/'.$username);#maakt de directory $username aan in de map userdirs welke zich in de huidige directory bevindt
Offline WimJ - 22/07/2007 18:58
Avatar van WimJ Grafische gevorderde ok wim in orde maar wat wordt dan het voledige scriptje of wat moet er dan aangepast worden in het huidge scriptje ?

Het gaat er om dat als een gebruiker zicht geactiveerd heeft, er een map wordt aangemaakt met zijn gebruikersnaam en dit mag in de huidige directory ja !!

Dus u oplossing is goed maar wat wordt het dan volledig ?
Offline JBke - 22/07/2007 19:36 (laatste wijziging 22/07/2007 19:37)
Avatar van JBke PHP gevorderde als ie bij mkdir zegt geen rechten of permission denied wil ALTIJD zeggen dat de map waar je de dirs in aan wil maken geen schrijfrechten heeft. Dat je dan de rechten op 0777 gaat zetten bij de map die je GAAT aanmaken is geen oplossing, je moet zien dat de hoofdmap beschrijfbaar is, en te hopen voor jouw dat je NIET je Server-root of httpdocs / htdocs world writable gaat zetten 

maak een aparte map aan bvb usermaps die je op 0777 zet en daarin maak je de mappen aan. En waarom nazien elke paar seconden of de map bestaat of niet, eens aangemaakt, doe je enkel een test op is_dir als je er data in wil gaan wegschrijven of gaat uitlezen. Zie niet in waarom ze verwijderd zou worden als enkel jij als admin van je server dat kan. 

gebruik de functies PHP.net: is_dir() en PHP.net: is_writable() om dit alles na te gaan zonder lastige errors te krijgen.
Offline Webtijn - 23/07/2007 00:18
Avatar van Webtijn PHP interesse
JBke schreef:
als ie bij mkdir zegt geen rechten of permission denied wil ALTIJD zeggen dat de map waar je de dirs in aan wil maken geen schrijfrechten heeft. Dat je dan de rechten op 0777 gaat zetten bij de map die je GAAT aanmaken is geen oplossing, je moet zien dat de hoofdmap beschrijfbaar is, en te hopen voor jouw dat je NIET je Server-root of httpdocs / htdocs world writable gaat zetten 

maak een aparte map aan bvb usermaps die je op 0777 zet en daarin maak je de mappen aan. En waarom nazien elke paar seconden of de map bestaat of niet, eens aangemaakt, doe je enkel een test op is_dir als je er data in wil gaan wegschrijven of gaat uitlezen. Zie niet in waarom ze verwijderd zou worden als enkel jij als admin van je server dat kan. 

gebruik de functies PHP.net: is_dir() en PHP.net: is_writable() om dit alles na te gaan zonder lastige errors te krijgen.


Zou hij nadat ik het 2x gezegd heb en jij het 1x gezegd hebt begrijpen dat het probleem bij de chmod zit?  
Offline Ultimatum - 23/07/2007 00:30
Avatar van Ultimatum PHP expert @webtijn, het probleem ligt niet bij chmod. Wat het simpel weg wil zeggen is, je hebt niet het correcte path opgegeven. Wat ik al zo zie en wat pastebin zegt, je was een slash vergeten waardoor je de map aan de username vastmaakte ipv te scheiden met een slash. Je moet het gewoon heel goed nakijken en echoën om te zien of je wel het goede path hebt. Hier heb ik vaak ook problemen mee.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.252s