Ich habe ein Menü-Script, das mit Navigations-Gruppen arbeitet, die jeweils in eine Datei geschrieben werden.
In der ersten Zeile wird der Name der Navigations-Gruppe mit
"~Name der Gruppe~"
geschrieben.
Die Links in den folgenden Zeilen sind mit Pipes ( | ) getrennte Werte
Um diesen auszulesen habe ich die folgende Funktion get_nav_name():
Die Funktion wird an verschiedenen Stellen mit folgendem Code aufgerufen:
Ich bekomme aber jedesmal nach ausführen der Aktion $action (dieser Wert variiert) die Meldung
Wie kann ich diese Meldung verhindern?
Die jeweilige Aktion selbst wird komischerweise ausgeführt.
Guido
In der ersten Zeile wird der Name der Navigations-Gruppe mit
"~Name der Gruppe~"
geschrieben.
Die Links in den folgenden Zeilen sind mit Pipes ( | ) getrennte Werte
Um diesen auszulesen habe ich die folgende Funktion get_nav_name():
PHP-Code:
$menu_dir = $lib_dir . "lib/menucnt/";
require("class.dir.php");
$d=new PHP_Dir(); //create a new PHP_Dir object
$d->set_mask("*.adm"); //set the default mask to '*.txt'
$admfiles=$d->list_files($menu_dir); //change this if you're a *nix or Linux user
function get_nav_name($get_file) {
global $menu_dir;
$openfile = $menu_dir . $get_file;
$fp = fopen($openfile, "r+");
$file_contents = fread($fp, filesize($openfile));
fclose($fp);
$line = explode("\n", $file_contents);
$i = 0;
$size = sizeof($line) - 2;
$nav_tab_width = $nav_tab_width - 2;
while($i <= $size) {
if(strstr($line[0], "~") == true) {
$navname = ereg_replace("~", "", $line[0]);
$size = sizeof($line) + 1;
//break;
} else {
$navname = str_replace("_"," ",$get_file);
$navname = str_replace(".adm","",$navname);
$newname = "~" . $navname . "~";
fputs($fp,$newname . "\n");
//break;
}
echo $navname;
$i++;
}
return $navname;
}
PHP-Code:
if ($action)
for($p=0;$p<sizeof($admfiles);$p++) {
$addnav_name[$p] = get_nav_name($admfiles[$p]);
$addnav_file[$p] = $menu_dir . $admfiles[$p];
echo "Tue irgend was";
}
}
Code:
Fatal error: Cannot redeclare class php_dir in l:\www\admin\class.dir.php on line 5
Die jeweilige Aktion selbst wird komischerweise ausgeführt.
Guido
Kommentar