Benötige kurze Hilfe mit Script

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Benötige kurze Hilfe mit Script

    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.

    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 {
         
    ?>
    Vielen Dank!

  • #2
    Ich finde es immer toll, wenn irgendwelche Scripte gepostet werden, die wir dann anpassen sollen. Was muss man daraus schließen? Da hat jemand irgendwoher ein Script gezogen und kann damit nichts anfangen, bzw. kann das nicht selber anpassen. Da hilft in der Regel PHP zu lernen.

    Zum Thema: Es gibt massenhaft fertige Scripte, die Verzeichnisse einlesen können und das sogar rekursiv. Und genau so etwas brauchst du.

    Gruß
    Uwe

    Kommentar


    • #3
      punktgenaue analyse! mein PHP ist gerade >= 0. ich hab das skript mal schreiben lassen und beim versuch es anzupassen bau ich bug x bug. also vielleicht erbarmt sich ja doch jemand der ne minute freizeit übrig hat...

      Kommentar

      Lädt...
      X