Ankündigung

Einklappen
Keine Ankündigung bisher.

suchen / ersetzen klappt nicht

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

  • suchen / ersetzen klappt nicht

    Ich hab eine Datei,wo ich den Pfad umschreiben muß.

    Ich bin wie folgt vorgegangen.
    Lese Datei in ein Array ein.

    Suche im Array nach dem alten Link und ersetze ggf. durch den neuen.

    Schreibe Array Inhalt in eine Datei.

    Die Datei wird erstellt... allerdings ohne Inhalt. Wo liegt denn mein Fehler ?

    PHP-Code:
    <?php
    $datei 
    "/etc/postfix/aliases"// Name der Datei
    $array file($datei); // Datei in ein Array einlesen

    foreach ($array as $element)
    {
    $suche '/root/';
    $ersetze '/etc/postfix/';
    for(
    $i 0$i sizeof($element), $i++){
      
    $element[$i] = preg_replace($suche$ersetze$element[$i]);

    $fp fopen('/etc/postfix/die_datei.txt''w');
    foreach(
    $element as $valuesfputs($fp$values."n");
    fclose($fp);

    echo 
    $element// Dateiinhalt ausgeben
    echo $values// Dateiinhalt ausgeben
    }
    ?>


  • #2
    Du solltest einfach noch mal die Logik deines Scripts ueberdenken.

    Fehlt da nicht eine schliessende geschweifte Klammer?

    Auch das Oeffnen der Datei innerhalb einer (zweier?) Schleifen erscheint mir nich logisch. Du ueberschreibst offensichtlich bei jedem Durchlauf den Inhalt der Datei.

    Schau dir ausserdem noch mal im Handbuch die moeglichen Werte fuer den zweiten Parameter von http://us3.php.net/manual/de/function.fopen.php an.
    http://hallophp.de

    Kommentar


    • #3
      preg_replace ist auch fehl am Platz und wird nur zufällig funktionieren - aber anders als Du Dir vorstellst.
      --

      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


      --

      Kommentar


      • #4
        PS: Fast die selbe Anwendung: http://www.php.de/php-einsteiger/658...-loeschen.html

        PHP-Code:
        $path "/etc/postfix/aliases";
        file_put_contents($path str_replace ('/root/' '/etc/postfix/' filegetcontents ($path))); 
        --

        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


        --

        Kommentar

        Lädt...
        X