PHP-Problem

A

AllesMeins

Guest
Moin,

dann will ich auch noch hier mal probieren ob ich Hilfe bekommen kann... Es ist ein PHP-Problem, das meines erachtens nicht ganz ohne ist. Mal schaun ob es hier ein paar PHP-Könner gibt die mir helfen können. Also:

Ich habe mir folgendes Script geschrieben, dass, wenn es fertig ist, in einem Verzeichniss und in sämtlichen unterverzeichnissen die Links in HTML-Dateien ändern soll:

//STARTVERZEICHNISS

$default_dir = "f:/Homepage/Crew/";

//ALLE VERZEICHNISSE AUSLESEN

function traverse_dir($dir, $section_id) {

chdir($dir);
if(!($dp = opendir($dir))) die("Kann folgenden Ordner nicht öffnen: $dir.");

while($file = readdir($dp)) {
if(is_dir($file)) {
if($file != '.' && $file != '..') {
//echo "/$dir<BR>";
traverse_dir("$dir/$file", $section_id);
chdir($dir);
}
}

//HTML-DATEINE SUCHEN

if (ereg("^[-0-9A-Za-z._=]+\.htm", $file)) $seite[] = $file;
if (ereg("^[-0-9A-Za-z._=]+\.html", $file)) $seite[] = $file;
for($i = 0; $i < count($seite); $i++){

//Pfad zerlegen

$dir_write = substr($dir, 12);
$Serie = substr($dir,18,3);

//HTML-DATEI ÖFFNEN

$test = fread(fopen($seite[$i], r), 10000);

//LINKS ERSETZTEN DURCH

$neu = "index.php?";

//LINKS SUCHEN

$pattern = '=(<a.*href\=")(.*/)?(index\S+)("[^>]*> )=Umsi';
$replace = "\\1\\2$neu\\4";

//LINKS ERSETZTEN

$test = preg_replace( $pattern, $replace ,$test);
echo nl2br(htmlspecialchars($test)) ;
}
}

closedir($dp);
}

traverse_dir($default_dir, $section_id);

Ich weiss jetzt nicht, ob es in dem derzeitigen Zustand richtig funktioniert, da ich sehr viel daran rumgewerkelt habe in den letzten Tagen. Jedenfalls habe ich nun das Problem, dass ich den Link der ersetzt werden soll in einer Variable brauch, bevor er verändert wird. Also ich möchte z.B.: index.htm in einer Variable haben bevor das Script index.htm durch etwas anders ersetzt. So wie das Script im Moment ist weiss ich aber nicht, wie ich es da rausbekommen soll... hat da irgendwer ne Lösung??
 
Hätteste mal dein Prog in Perl geschrieben, davon hab ich wenigstens halbwegs Ahnung :D

Aber Scherz beiseite, ich weiß jetzt nicht, ob du schon ne Lösung hast, aber wenn nicht, dann schau doch mal hier rein. *ein bisserl werbung fpür scotty mach*
 
Zurück
Oben