WebFTP-Client [als 3rd-party-apps]

Status
Für weitere Antworten geschlossen.

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Manchmal möchte man was tun (von der DS aus einen FTP zu meinem Web-Hoster) und sucht sich dumm nach einer Software, die das machen könnte. Alles was es gibt, geht vom PC aus auf irgendwelche FTP-Server. Passt nicht. Ich brauch was, was sozusagen die DS in den Mittelpunkt des Geschehens rückt: Also eine Webanwendung, die den Webserver auf der DS nutzt und von da aus per FTP auf meinen Hoster geht. Weil ich nun nach 2 Stunden suchen die Nase voll hatte, hab ich mich heute mal hingesetzt und das Teil mit PHP selbst geschrieben.

Wer möchte, kann es auch ausprobieren - sind bestimmt noch ein paar Fehler drin, also immer schön versichtig. Wie immer geht es auf eigene Kappe. Ich hab es mir gespart, die application.cfg zu schreiben - ich denke mittlerweile gibt es genug Vorlagen um das irgendwo abzuschreiben.

Mit dem Programm kann man auch hübsch im lokalen Netz mit seinen FTP-Servern reden. Es macht keinen Sinn, das Programm als Ersatz für FileZilla oder so auf dem PC einzusetzen, die sind einfach besser. Es ist natürlich auch möglich, auf der DS-Kommandozeile mit wget und wput oder einem anderen ftp-client zu spielen. Ist aber nicht so hübsch bunt :D. Ich sag das deshalb, weil wenn nu jemand das ganze automatisiert haben will als Job und mit vielen Dateien usw., dafür gibt es schon andere Lösungen.

Anleitung:

Klicken auf die Direktories ist cd.
Ansonsten immer so vorgehen:
(1) erst die Datei auswählen mit der was gemacht werden soll, dann
(2) die Funktion auswählten
(3) dann die Kontrollfelder unter anpassen
(4) go drücken

Der FTP-Connect geht, nachdem mal die 3 Felder (Server, User, Passwd) ausgefüllt hat und einen Haken ins connect-Feld gemacht hat. Man kann nachträglich noch den Modus (passiv) wählen/ändern.

itari

Das Bildchen:
 

Anhänge

  • webftp.php.txt
    9,3 KB · Aufrufe: 393
  • webftp.jpg
    webftp.jpg
    66,5 KB · Aufrufe: 1.394
Zuletzt bearbeitet:

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0
Genial! Danach hatte ich auch schon gesucht...
 

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0
Was bedeutet diese Fehlermeldung beim Versuch, eine Verbindung aufzubauen?

Warning: ftp_login() expects parameter 1 to be resource, boolean given in /usr/local/php/webftp/webftp.php on line 4

Warning: ftp_pasv() expects parameter 1 to be resource, boolean given in /usr/local/php/webftp/webftp.php on line 5
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Was bedeutet diese Fehlermeldung beim Versuch, eine Verbindung aufzubauen?
Genau das was dort steht: PHP erwartet eine FTP Ressource als Argument aber es wurde ein Boolean übergeben.
Ohne den PHP Quellcode ist es schwierig zu sagen.
So gerade mal meine Nase in den Quelltext gesteckt:
Deine Meldung deutet darauf hin, dass ftp_open() keine Verbindung zu deinem Host aufbauen konnte. Dann nämlich gibt diese Fkt anstelle einer Ressource den Boolean Wert FALSE zurück. Und mit diesem kann natürlich ftp_login() und ftp_pasv() nicht arbeiten
Ergänze mal die Zeile
PHP:
$ftp=@ftp_connect($_REQUEST['ftpserver']); 
if($ftp === false){
 die('Es konnte keine Verbindung mit dem Server hergestellt werden');
}
$logged=ftp_login($ftp,$_REQUEST['ftpuser'],$_REQUEST['ftppassword']);
 
Zuletzt bearbeitet:

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0
Danke für die Hilfe!

Da scheint tatsächlich irgendwas mit dem angesprochenen Gerät nicht zu stimmen. Der Aufruf einer externen FTP-Quelle funktioniert einwandfrei.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Probier mal nur die IP-Adresse einzugeben, ob es dann geht.

Ansonsten hab ich nur meine eigene Erfahrung: lokale FTP-Server gingen, die DS selbst ging auch und die Server von 1&1 ließen sich auch benutzen.

Möglicherweise will der angesprochene Server eine verschlüsselte Verbindung? Der SSL-FTP geht leider nicht mit dem Standard-PHP; mit dem per ipkg installierten PHP würde das dann gehen.

itari
 

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0
Im Zweifelsfall liegt es tatsächlich einfach nur am angesprochenen Gerät. Möglicherweise hab ich dort durch ein Firmwareupgrade die normalerweise statische IP verloren...
 

HarryPotter

Benutzer
Mitglied seit
24. Aug 2007
Beiträge
2.156
Punkte für Reaktionen
0
Punkte
0
So, ich habe mich jetzt auch an dieses Script gewagt.

WebFTP läuft auf einer DS-106x, von der ich Daten zu einer DS408 kopieren will.

Die Verbindung klappt und ich kann in den Verzeichnnissen stöbern.

Aber beim Klick auf "go" mit der "Copy"-Auswahl erhalte ich folgende Warnung:

Warning: ftp_put() [function.ftp-put]: /volume1/Sicherungen/Hecke/Lisa/LisaCEingang.tib: Permission denied. in /usr/syno/synoman/phpsrc/webftp/webftp.php on line 30
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Hast du mal verglichen, ob du auch alle php.ini-Einträge so hast:

Rich (BBCode):
safe_mode = Off
safe_mode_exec_dir =
open_basedir =
doc_root =
allow_url_fopen = On
register_globals = On

Da der sys-Apache ja unter der User-Id=0 läuft, müssten ihm eigentlich alle Türen auf dem eigenen Rechner offen stehen (außer man hat welche für ihn zugemacht). Was du auf dem zweiten-Rechner alles darfst oder nicht, ist allerdings eine andere Sache. Dort bist ja per ftpd drauf und kannst natürlich nur die Dateien benutzen, die auch für den angemeldeten User erlaubt sind.

itari
 

HarryPotter

Benutzer
Mitglied seit
24. Aug 2007
Beiträge
2.156
Punkte für Reaktionen
0
Punkte
0
Ja klar, das habe ich gecheckt, bin ja vorbelastet durch die Erfahrungen mit dem automate script

Edit: Ah ich habs gecheckt, ich muss rechts den Destination-Pfad von Hand anpassen, Copy kopiert den Ursprungs-Pfad 1:1

Dann klappt es

Danke


Was das Script allerdings nicht kann sind Dateien verarbeiten die Leerzeichen im Namen haben.
 
Zuletzt bearbeitet:

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Was das Script allerdings nicht kann sind Dateien verarbeiten die Leerzeichen im Namen haben.

Änder das doch ab bzw. ergänze was da noch fehlt und poste es wieder hierhin. Ich hab solche Dateien mit Leerzeichen nicht (wusste auch nicht, dass das Linux sowas mag), deshalb ist mir das nicht aufgefallen. Ich teste ja meine Skripte kaum ab, hab ich zuwenig Zeit für. Bin immer froh, wenn sie das tun, was ich damit machen möchte. :D

itari
 

bugfix

Benutzer
Mitglied seit
18. Dez 2008
Beiträge
17
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen.

Ich habe da mal wieder ein kleines Problem...

Also, alles eingebunden. Klappt auch super. Doch wenn ich es aufrufe (s.Bild).

Habe jetzt aber noch nichts an der webftp.php eingestellt. Da muss man doch bestimmt auch was ändern :eek: aber wo?

Schon mal besten Dank!

webftp.jpg
 

bugfix

Benutzer
Mitglied seit
18. Dez 2008
Beiträge
17
Punkte für Reaktionen
0
Punkte
1
Ja, habe ich jetzt gemacht. Bekomme aber immer noch die selben Fehler angezeigt.

Andere Sachen laufen ja auch ohne Probleme (ein anderer WebFTP, Mail, phpMyAdmin,...).
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Die Fehlermeldung sagt es schon: der exec()-Aufruf geht nicht. Da sind Einstellungen in der php.ini nicht ok.

itari
 

possi

Benutzer
Mitglied seit
19. Jan 2009
Beiträge
31
Punkte für Reaktionen
0
Punkte
0
hallo,

das programm würde mir wie gerufen kommen wenn ich wüßte wie ich es installieren könnte.

wie erstelle ich die application.cfg??? Kann mir einer die erstellen, dann komme ich beim nächsten erstellen deutlich besser klar. Die Anleitung auf der Wiki-Seite kriege ich nicht geacken.
Und wie bekomme ich das Verzeichnis /usr/syno/synoman/webman/3rdparty angezeigt??

Ich gehe mal von Telnet aus, ich habe mich erst ein einziges mal vor längerer Zeit damit befaßt, da habe ich ein Tool benutzt was wirklich relativ einfach war, aber ich komme nicht mehr auf den Namen.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Es gibt da zwei .spk-Pakete, die das im DS Manager -> System -> Paketmanagement für dich erledigen können:

(1) das init_3rdparty.spk *guck*

(2) und danach das angehängte FTP_FileManager.spk-Paket.

Itari
 

Anhänge

  • FTP_FileManager.spk
    11 KB · Aufrufe: 456

possi

Benutzer
Mitglied seit
19. Jan 2009
Beiträge
31
Punkte für Reaktionen
0
Punkte
0
vielen vielen dank itari,
die installation hat super geklappt.:)
 

possi

Benutzer
Mitglied seit
19. Jan 2009
Beiträge
31
Punkte für Reaktionen
0
Punkte
0
Noch eine Frage:

ich kann mich mit der anderen NAS mit WebFTP connecten, meine CS407e zeigt er mir auch brav an, kann auch in den verzeichnissen navigieren.
Wenn ich nun aber auf "copy-<" klicke kommt oben folgende Fehlermeldung:

Warning: ftp_get(/volume4/Temp/../ide1/share_icybox) [function.ftp-get]: failed to open stream: No such file or directory in /volume1/@appstore/FTP_FileManager/webftp.php on line 32

Warning: ftp_get() [function.ftp-get]: Error opening /volume4/Temp/../ide1/share_icybox in /volume1/@appstore/FTP_FileManager/webftp.php on line 32



Und fängt natürlich auch nicht an zu kopieren.

weiß jemand rat???
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Vielleicht darfst die Dateien nicht lesen (Zugriffsrechte), sondern nur das Verzeichnis anschauen ???

Itari
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat