FTP Dir erstellen - eigene Funktion verbessern

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

  • FTP Dir erstellen - eigene Funktion verbessern

    Hallo!

    Ich hab mich mal dran gewagt ein Thumbnail Script zu schreiben. Das Script habe ich nun fertig und es funktioniert auch alles so wie ich es will.

    Jetzt will ich aber eine Klasse erstellen und dazu will ich das Script etwas verschönern. Ich schreib mal erst die betreffende Funktion.

    PHP-Code:
            function ftp_dir($username$ordner)
               {
                global 
    $ftp_server$ftp_user$ftp_pass
                
                if (!isset(
    $ftp_server) && !isset($ftp_user) && !isset($ftp_pass))
                  { 
    /* function fehler */ }
                  
                
    $ftp ftp_connect($ftp_server); 
                if(!
    $ftp)   { /* function fehler */ }   //keine verbindung
                
                // mit dem FTP verbunden 
                
    $ftp_loggedin = @ftp_login($ftp$ftp_user$ftp_pass);
                if(!
    $ftp_loggedin) { /* function fehler */ }        //nicht eingelogged
                
                
    $self $_SERVER['PHP_SELF'];
                
    $root $_SERVER['DOCUMENT_ROOT'];
                
                
    $self_a explode("/"$self);
                
    $self_a remove_from_array($self_a"index.php");
                
    $self_a remove_from_array($self_a"admin");
                
    $self_a remove_from_array($self_a"");
                
                
    $root_a explode("/"$root); 
                
    $root_a remove_from_array($root_a"");
                
    $a count($root_a) - 1;
                
                
    // ins html verzeichnis kommen
                
                
    while ($var <> "ok")
                   {
                       
    $dir $root_a[$a] . "/" $dir;    
                       if (@
    ftp_chdir($ftp$dir))
                         {   
    $var "ok";  }
                     else { 
    $var ""$a $a 1;  }
                   } 
                   
                foreach (
    $self_a as $key)
                  {  
    $pfad .= $key "/";  }
                
                
    $pfad $pfad "gallery/";
                
                if (!@
    ftp_chdir($ftp$pfad)) echo "fehler" ;  /* function fehler */
                
                
    if (!@ftp_mkdir($ftp,$ordner)) return false;
                if (!@
    ftp_mkdir($ftp,$ordner "/thumbnails")) return false
                if (!@
    ftp_mkdir($ftp,$ordner "/images")) return false;
                
                @
    ftp_site($ftp'CHMOD 0777 /'.$dir.$pfad.$ordner);
                @
    ftp_site($ftp'CHMOD 0777 /'.$dir.$pfad.$ordner.'/images');
                @
    ftp_site($ftp'CHMOD 0777 /'.$dir.$pfad.$ordner.'/thumbnails'); 
                
                
    ftp_quit($ftp); 
                
                return 
    true;
                
                } 

    Diese Funktion bewirkt, dass in dem entsprechenden Ordner des Servers ein Ordner für die Gallery erstellt wird und dass dieser die entsprechenden Rechte hat.


    Speziell geht es mir bei der Verbesserung um folgenden Teil:

    PHP-Code:
    $self_a explode("/"$self);
    $self_a remove_from_array($self_a"index.php");
    $self_a remove_from_array($self_a"admin");
    $self_a remove_from_array($self_a""); 
    Dieses ist ja eigentlich nicht allgemein gehalten. Auf meinem Webspace funktioniert das zwar, bzw mit meinem script, aber wie ist das wenn jemand jetzt ganz andere Ordner verwendet?

    Gibt es für mein Problem eine elegantere Lösung?

    Das Problem kurz:
    - das Script läuft unter der url: http://ich.de/admin/index.php
    - der ordner soll erstellt werden in: http://ich.de/gallery/
    - per ftp erhält man die strukur: irgendwas mit html und home (also bei mir)

    PS: Ich mach das mit FTP, weil ich beim Erstellen eines Ordners mittels PHP nicht die entsprechenden Rechte setzen kann.


    Habt ihr irgendwelche Ideen?

    Danke für die Hilfe

    Mastereye

  • #2
    Re: FTP Dir erstellen - eigene Funktion verbessern

    Original geschrieben von Mastereye3k
    PS: Ich mach das mit FTP, weil ich beim Erstellen eines Ordners mittels PHP nicht die entsprechenden Rechte setzen kann.
    klar kannst du die rechte mit php setzen! chmod()

    die geschichte mit ftp zu lösung ist eher subobtimal.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Re: Re: FTP Dir erstellen - eigene Funktion verbessern

      Original geschrieben von Abraxax
      die geschichte mit ftp zu lösung ist eher subobtimal.
      Man könnte fast schon sagen supobdimahl
      hopka.net!

      Kommentar


      • #4
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Re: Re: FTP Dir erstellen - eigene Funktion verbessern

          Original geschrieben von Abraxax
          klar kannst du die rechte mit php setzen! chmod()

          die geschichte mit ftp zu lösung ist eher subobtimal.
          Ja sicher, dass weiß ich ja auch das das mit der Funktion gehen sollte.

          Aber bei mir kam da, dass mein Script nicht der Besitzer des Ordners war oder so was ähnliches.

          Glaubt mir ich hab damit alles möglich ausprobiert ...


          Und das klappt ja mit meiner Funktion, nur ich will die etwas eleganter machen.

          Kommentar


          • #6
            Re: Re: Re: FTP Dir erstellen - eigene Funktion verbessern

            Original geschrieben von Mastereye3k
            Aber bei mir kam da, dass mein Script nicht der Besitzer des Ordners war oder so was ähnliches.
            dein script (der apaceh) ist natürlich besitzer. du musst die datei aber vorher mit deinem script erstellt habe.

            wenn du die daten vorher mit ftp uploadest geht es natürlich nicht.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar

            Lädt...
            X