Ankündigung

Einklappen
Keine Ankündigung bisher.

Textdatei aus bestimmtem Verzeichnis per PHP editieren

Einklappen

Neue Werbung 2019

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

  • Textdatei aus bestimmtem Verzeichnis per PHP editieren

    Hallo,

    ich habe folgendes Problem:

    Eine txt-Datei soll per PHP ausgelesen und mit einem WYSIWYG-Editor bearbeitet werden. Soweit kein Problem.

    Aber: Ich habe mehere Verzeichnisse, in denen die txt-Dateien liegen
    und möchte erreichen, dass der Editor jeweils dieses Unterverzeichnis auswählt. Aktuell legt er immer nur eine neue neue txt-Datei im Stammverzeichnis an.

    Meine Frage nun: Wie kann ich bestimmen, dass der Editor immer das Verzeichnis zum Speichern nutzt, aus dem die txt-datei stammt, wenn ich aber meherere Unterverzeichnisse mit txt-Dateien habe?


    Zur Verdeutlichung: Dieser Code listet die txt-Dateien aus /verzeichnis/unterverzeichnis/ auf:
    PHP-Code:
    <?php
    $verz
    =opendir ("../verzeichnis/unterverzeichnis/");


    while (
    $file readdir($verz)) { 
     
    $len=strlen(strrchr($file,"."));
     
    $ganz=strlen($file);
     
    $file_name=substr($file,0,$ganz-$len);
     
    $datei "../verzeichnis/unterverzeichnis/".$file;
     
    $zeit filemtime($datei);

     if(
    $file != "." && $file != "..") {
      
      echo 
    "<td bgcolor='#FFFFFF'><font size='2' color='#7D7D7D'>" $file_name "</font></td>";
      echo 
    "<td align='center' bgcolor='#FFFFFF'><font size='2' color='#7D7D7D'>" gmdate("d.m.y H:i"$zeit) . " </font></td>";
      echo 
    "<td align='center' bgcolor='#FFFFFF'><font size='2' color='#7D7D7D'> <a href=\"editor.php?datei=" $file_name ."\"><img src=\"bt_edit.gif\" border=\"0\"/>
    </a></td></tr>"
    ;
      
    $i++;
     }
    }
    closedir($verz);
    ?>
    Und dieser Code steht im Editor, er legt aber die Datei neu in /verzeichnis/ ab:

    PHP-Code:
    <?php
    $datei 
    $_GET['datei'];

    $id $datei;
    if(isset(
    $_POST['content'])) 
    {
    $id $_POST['id']; 
    $dateixxx fopen($_SERVER['DOCUMENT_ROOT']."/verzeichnis/./".$id.".txt","w+");
    fwrite($dateixxxereg_replace('\\\"',"'",$_POST['content']));
    fclose($dateixxx);

    }


        
    $fopen fopen($_SERVER['DOCUMENT_ROOT']."/verzeichnis/./".$id.".txt","r");
        if (
    $fopen
        { 
            while(!
    feof($fopen)) 
            { 
                
    $text .= fgets($fopen); 
            }

            
    fclose($fopen); 
        }

    $content $text


        if (!
    ereg('/$'$_SERVER['DOCUMENT_ROOT']))
        
    $_root $_SERVER['DOCUMENT_ROOT'].'/';
        else
        
    $_root $_SERVER['DOCUMENT_ROOT'];

        
    define('DR'$_root);
        unset(
    $_root);
    PERPICX Media
    www.perpicx.com

  • #2
    Übergib statt dem Dateinamen auch den Pfad der Datei mit. Und denk mal über deine Variablenbezeichnung nach, da stehen mir die Haare zu berge.

    PHP-Code:
    $datei $_GET['datei'];


    // Hier könntest du statt dem Dateinamen den kompleten Pfad mit übergeben
    $id $datei;


    if(isset(
    $_POST['content'])) 
    {
    $id $_POST['id']; 

    // Statt dem Pfad hier solltest du dann nur eine Variable verwenden
    $dateixxx fopen($_SERVER['DOCUMENT_ROOT']."/verzeichnis/./".$id.".txt","w+");
    fwrite($dateixxxereg_replace('\\\"',"'",$_POST['content']));
    fclose($dateixxx);

    }


        
    $fopen fopen($_SERVER['DOCUMENT_ROOT']."/verzeichnis/./".$id.".txt","r");
        if (
    $fopen
        { 
            while(!
    feof($fopen)) 
            { 
                
    $text .= fgets($fopen); 
            }

            
    fclose($fopen); 
        }

    $content $text


        if (!
    ereg('/$'$_SERVER['DOCUMENT_ROOT']))
        
    $_root $_SERVER['DOCUMENT_ROOT'].'/';
        else
        
    $_root $_SERVER['DOCUMENT_ROOT'];

        
    define('DR'$_root);
        unset(
    $_root); 
    Tutorials zum Thema Technik:
    https://pilabor.com
    https://www.fynder.de

    Kommentar


    • #3
      Okay, aber wenn ich den kompletten Pfad übergebe, bin ich doch hier unflexibel, was die Auswahl des Verzeichnisses angeht, oder?
      Wie gesagt, der Editor soll aus verschiendenen Unterverzeichnissen auslesen und, bearbeiten und speichern.

      Vielleicht könntest Du ein kurzes Beispiel zeigen? Wäre super!
      PERPICX Media
      www.perpicx.com

      Kommentar


      • #4
        Vielleicht könntest du auch selbst ausprobieren und nachdenken. Wenn du nicht weiterkommst, meld dich heute Abend nochmal.
        Tutorials zum Thema Technik:
        https://pilabor.com
        https://www.fynder.de

        Kommentar

        Lädt...
        X