webForumDet fria alternativet

Clueless.. read dir

4 svar · 440 visningar · startad av Fuel

FuelMedlem sedan okt. 20001 285 inlägg
#1

Jag är helt nollställd .. vet inte vad jag har gjort för fel .. försöker skapa lite kod som kollar i en mapp efter andra mappar ..

<?php
// Fuel
$mod_dir = './mod';

function ed_collect_mods($mod_dir)
{
	$anum = 0;
	$mods = array(); 
	$mod_dir = @opendir($mod_dir);

	while (false !== ($mod = @readdir($mod_dir)))
	{
		if ((is_dir($mod)) && ($mod != ".") && ($mod != "..")) {
			$mods[$anum] = $mod_dir . '/' . $mod;
			$anum++; 
		}
	}
	
	@closedir($mod_dir);
	return $mods;
}

ed_collect_mods($mod_dir);

echo print_r($mods);
?>
Dies_IraeMedlem sedan aug. 2001145 inlägg
#2

Du har 2 fel:

  1. Du använder $mod_dir = opendir(...); vilket sätter mod_dir till resursen som öppnar katalogen. Dvs $mod_dir blir om jag inte minns helt fel något i stil med "Resource #1" hur som helst är de fel eftrsom du använder $mods[index] = $mod_dir . "/" ...

Sen $mods är en variabel i local scope (i funktionen) och du glömer att spara vad funktionen skickar tillbaka:

$mods = ed_collection_mods(...);

Inte testat men dessa ändringar borde göra susen:

<?php
// Fuel
$mod_dir = './mod';

function ed_collect_mods($mod_dir)
{
    $mods = array();
    $dir_handle = @opendir($mod_dir);

    while (false !== ($mod = @readdir($dir_handle)))
    {
        if ((is_dir($mod)) && ($mod != ".") && ($mod != "..")) {
            $mods[] = $mod_dir . '/' . $mod;
	}
    }
    
    @closedir($dir_handle);
    return $mods;
}

$mods = ed_collect_mods($mod_dir);
echo print_r($mods);

?>
FuelMedlem sedan okt. 20001 285 inlägg
#3

nope :(

FuelMedlem sedan okt. 20001 285 inlägg
#4

Så .... herregud :r is_dir($mod) --> is_dir($mod_dir.'/'.$mod) :r

<?php
$mods = array();
    $dir_handle = @opendir($mod_dir);

    while (false !== ($mod = @readdir($dir_handle)))
    {
        if ((is_dir($mod_dir.'/'.$mod)) && ($mod != ".") && ($mod != "..")) {
            $mods[] = $mod;
		}
    }
    
    @closedir($dir_handle);
?>
FuelMedlem sedan okt. 20001 285 inlägg
#5

...

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)