Php - FTP zugang um txt datei zu ändern

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

  • Php - FTP zugang um txt datei zu ändern

    [FONT=Arial]Hi,
    Ich möchte ein kleines Script zusammenstellen das später über meine Website per Administrator Interface läuft. Das Skript soll über einen ftp Account auf meinem Linux Server in einem Ordner (außerhalbes des web Verzeichnisses) unter /home/server/ eine txt Datei namens ghs.txt zugreifen. Die Text Datei soll später über dieses Skript mit einem Editor verbunden sein mit dem man ganz einfach den Inhalt editieren kann. Gibt es da schon etwas fertiges? Oder könnte mir da jemand etwas zusammenbasteln? Habe noch nicht sehr viel Erfahrung.
    MFG nightcore[/FONT]

  • #2
    Normalerweise brauchst du dafür keinen FTP-Account per PHP. Wenn der Server entsprechend konfiguriert ist, so kann ein PHP-Script auch außerhalb des Webverzeichnisses auf Dateien zugreifen.

    Aber! Soll dieser Editor auch Formatierungen vornehmen können? An welchen Editor denkst du? Und wäre eine Datenbank hier nicht besser?

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Eine datenbank funktioniert bei diesem problem leider nicht da das bestimmte programm keine datenbank verbindung unterstützt. Ich brauche nur einen text editor. Somit ein kleine form in dieser der inhalt der txt datei angezeigt wird. In dieser sollte man dann auch den inhalt editieren können. Somit nicht wirklich viel. Daran hab ich garnich gedacht das php auch auserhalb zugriff haben kann. Könntest du mir vl. ein kleines script zusammenstellen oder mir ein fertiges zeigen das ich mir dann später anpassen kann?
      MFG nightcore

      EDIT: Sry das ich mich so dumm angestellt hab. Habe schon mal etwas in der art fertig gebastellt.
      <?php
      if($_POST['Submit']){
      $open = fopen("/home/b1.txt","w+");
      $text = $_POST['update'];
      fwrite($open, $text);
      fclose($open);
      echo "File updated.<br />";
      echo "File:<br />";
      $file = file("/home/b1.txt");
      foreach($file as $text) {
      echo $text."<br />";
      }
      }else{
      $file = file("b1.txt");
      echo "<form action=\"".$PHP_SELF."\" method=\"post\">";
      echo "<textarea Name=\"update\" cols=\"50\" rows=\"10\">";
      foreach($file as $text) {
      echo $text;
      }
      echo "</textarea>";
      echo "<input name=\"Submit\" type=\"submit\" value=\"Update\" />\n
      </form>";
      }
      ?>
      Dabei bekomme ich aber beim abspeichern folgende fehler:
      Warning: fopen() [function.fopen]: open_basedir restriction in effect. File(/home/b1.txt) is not within the allowed path(s): (/var/www/vhosts/xxx/subdomains/admin/httpdocs:/tmp) in /var/www/vhosts/xxx/subdomains/admin/httpdocs/index.php on line 3

      Warning: fopen(/home/b1.txt) [function.fopen]: failed to open stream: Operation not permitted in /var/www/vhosts/xxx/subdomains/admin/httpdocs/index.php on line 3

      Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/vhosts/xxx/subdomains/admin/httpdocs/index.php on line 5

      Warning: fclose(): supplied argument is not a valid stream resource in /var/www/vhosts/xxx/subdomains/admin/httpdocs/index.php on line 6
      File updated.
      File:

      Warning: file() [function.file]: open_basedir restriction in effect. File(/home/b1.txt) is not within the allowed path(s): (/var/www/vhosts/xxx/subdomains/admin/httpdocs:/tmp) in /var/www/vhosts/xxx/subdomains/admin/httpdocs/index.php on line 9

      Warning: file(/home/b1.txt) [function.file]: failed to open stream: Operation not permitted in /var/www/vhosts/xxx/subdomains/admin/httpdocs/index.php on line 9

      Warning: Invalid argument supplied for foreach() in /var/www/vhosts/xxx/subdomains/admin/httpdocs/index.php on line 10
      Also noch kleine probleme bei der freigabe. Wie könnte ich das ganze so einstellen das er rechte zum schreiben bekommt. Die datei ist öffentlich beschreibbar.
      MFG Nightcore
      Zuletzt geändert von nightcore; 24.09.2012, 08:04.

      Kommentar


      • #4
        Die Fehlermeldung gibt dir bereits die Lösung.

        In diesem Fall musst du die "open_basedir" Direktive entsprechend erweitert.
        Das kannst du entweder in einer zusätzlichen .htaccess oder direkt in der Apache Konfiguration umsetzen.

        Du könntest optional auch direkt in der php.ini diese Zugriffserweiterung vornehmen, dann hätten aber alle PHP-Anwendungen diese Berechtigungen und damit auch evtl. weitere Benutzer auf deinem Server.

        siehe: PHP: Description of core php.ini directives - Manual

        Beachte auch, das dein Verzeichnis von anderen Benutzern lesbar/schreibbar sein muss. Also der passende CHMOD gesetzt ist.
        :: BackTix - Textlink Marktplatz
        :: Online PHP Formular Manager & Generator
        :: PHP Gästebuch Script | PHP HTAccess Passwortschutz Generator

        Kommentar

        Lädt...
        X