Hoi,

Ik (=php-noob) probeer een script te maken waarmee is door middel van een webinterface een aantal processen op een linux server kan starten/stoppen. Nu leek mij de eerste stap om te indexeren welke directories (==processen) er zijn. Na wat knip en plak werk kwam ik op zoiets:

<?php
$dir = "/home/services/xxx/";
$map_aantal = 0;
$namen = '';

if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if ($file != "." && $file != "..") {
$namen['map'][$map_aantal] = $file;
$map_aantal++;
}
}
closedir($dh);
sort($namen['map']);
echo "{$namen['map']}";
}
}
?>

Geeft echter totaal geen output, wat doe ik verkeerd? Als iemand trouwens interrese heeft om heel dit script voor mij te maken, stuur me een emailtje op [email protected], vergoeding uiteraard mogelijk, hetzij in de vorm van euro's of een vorm van (web)hosting.
Het hoeft niet altijd nuttig te zijn wat je doet. Inspringen bijvoorbeeld is ook niet nuttig, want PHP gedraagt zich niet anders als je wel of niet inspringt aan het begin van een regel.

Even terug naar het oorspronkelijke probleem:

Dubbele quotes eromheen is in ieder geval legale PHP-code en het geeft bovendien duidelijk aan dat er een verschil is tussen enkele en dubbele quotes. Bovendien geef je door de quotes duidelijk aan dat je $map_aantal gebruikt als een right hand value.

Is dat onzin? Zeg het maar. Het is een hulpmiddel waardoor het voor de programmeur in 1 oogopslag duidelijk is hoe je de variabele gebruikt. Vergelijkbaar dus met inspringen na een if-then bijvoorbeeld. En ja, zoals ik al eerder had beargumenteerd, in zekere zin is dat ook onzin ;-)

Houd rekening met een van de gouden regels van programmeren: het moet duidelijk zijn wat je doet. Bovendien is er altijd meer dan 1 manier om iets te doen (het TIMTOWTDI-principe). Dat is nou het mooie van programmeren: je kan er je creatieve vrijheid in kwijt.

Reageren