Hallo Leute
Es wäre toll wenn mir jemand sagen könnte wie ich nachfolgendes Skript dazu bringe dass wenn über Post per Variable 'dir' kein Ordnername sondern z.B "All" übergeben wird, alle vorhandenen Unterordner abgebearbeitet werden. Momentan werden Dateien im angegebenen Ordner bzw. wenn keine Angabe erfolgt, alle Dateien im aktuellen Ordner bearbeitet.
Vielen Dank!
Es wäre toll wenn mir jemand sagen könnte wie ich nachfolgendes Skript dazu bringe dass wenn über Post per Variable 'dir' kein Ordnername sondern z.B "All" übergeben wird, alle vorhandenen Unterordner abgebearbeitet werden. Momentan werden Dateien im angegebenen Ordner bzw. wenn keine Angabe erfolgt, alle Dateien im aktuellen Ordner bearbeitet.
PHP-Code:
<?
if (isset($_POST['send'])){
if ((isset($_POST['dir']))&&(isset($_POST['strings']))) {
$file1=fopen("temp.txt","w+");
fputs ($file1, $_POST['strings']);
fclose($file1);
$strings=file("temp.txt");
$pattern=$_POST['muster'];
$search=array();
$i=0;
$n=0;
foreach ($strings as $value) {
$n=$n+1;
if (trim($value)=="") {
$i=$i+1;
$n=0;
}
else {
$search[$i][$n]=$value;
}
}
$test="<b>Hallo</b>";
$handle=opendir($_POST['dir']);
echo "Bitte warten...<br />";
$filetype=0;
while (false !== ($filereaddir ($handle))) {
if ((strrchr($file,".")==".html")||(strrchr($file,".")==".php")||(strrchr($file,".")==".htm")) {$filetype=1;}
if ($file!="."&&$file!=".."&&file_exists($_POST['dir']."/".$file)&&$filetype==1) {
$fp=fopen($_POST['dir']."/".$file,"r");
$neu=array();
echo $file."<br />";
while (!feof($fp)) {
$line= fgets($fp);
for ($y=0;$y<count($search);$y++) {
$pattern=$search[$y][1]."\r\n";
$rand=rand(2,count($search[$y]));
$ersatz=$search[$y][$rand];
if ($_POST['umlaute']!="") {
$ersatz=htmlentities($ersatz);
}
if (isset($_POST['exact'])) {
if ($_POST['umlaute']!="") {
$pattern2=htmlentities(rtrim($pattern));
//$neu_ende=preg_replace("/^((.*) |)$pattern2( (.*)|)$/m","$ersatz $1",trim($line));
//$anfang=substr($line,0,strpos($line,$pattern2));
if (preg_match("/^((.*) |)$pattern2( (.*)|)$/m",trim($line))) {
echo "jep";
$line =str_ireplace($pattern2,$ersatz,$line);
}
//$line= $anfang.$neu_ende;
//preg_match("/^.* $pattern2 .*$/m",trim($line));
//echo preg_match("/^(.*) $pattern2 (.*)$/m",trim($line));
//$line.="\r\n";
//$line=preg_replace("/$pattern2$/m",$ersatz,trim($line));
//echo preg_match("/.*/",trim($line));
}
else {
$pattern2=rtrim($pattern);
if (preg_match("/^((.*) |)$pattern2( (.*)|)$/m",trim($line))) {
echo "jep";
$line =str_ireplace($pattern2,$ersatz,$line);
}
//$neu_ende=preg_replace("/^((.*) |)$pattern2( (.*)|)$/m","$ersatz $1",trim($line));
//$anfang=substr($line,0,strpos($line,$pattern2));
//$line= $anfang.$neu_ende;
//echo preg_match("/^.* $pattern2 .*$/m",trim($line));
//echo preg_match("/^(.*) $pattern2 (.*)$/m",trim($line));
//$line.="\r\n";
}
}
else {
if ($_POST['umlaute']!="") {
$line=eregi_replace(htmlentities(rtrim($pattern)),rtrim($ersatz),$line);
}
else {
$line=eregi_replace(rtrim($pattern),rtrim($ersatz),$line);
}
}
}
array_push($neu,$line);
}
fclose($fp);
unlink($_POST['dir']."/".$file);
$fp2fopen($_POST['dir']."/".$file,"w+");
foreach($neu as $value) {
fputs($fp2,$value);
}
$filetype=0;
}
}
}
echo "<br /><b>Fertig</b><br />Das Skript wurde ausgeführt.";
}
else {
?>
Kommentar