zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden per ftp_rename Datei verschieben

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 19.11.2007, 06:31
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 26.04.2006
Beiträge: 32
Worance befindet sich auf einem aufstrebenden Ast
Standard per ftp_rename Datei verschieben

Hallo auch...

Ich habe ein Problem, Dateien auf dem Server von einem auf das andere Verzeichnis zu verschieben. Die normalen Dateibasierten Funktionen kann ich nicht nutzen. Ein copy($quelle,$ziel) schlägt fehl, da der Zugriff verweigert wird. Alle Verzeichnisse, die ich verwenden möchte, sind per ftp angelegt, sprich mit ftp_mkdir() angelegt. ftp_put funktioniert prima mit diesen Verzeichnissen. Also habe ich eine Datei "quelle.jpg" in das Verzeichnis /var/www/test/quelle gepackt. Diese Datei soll nun aber ins Verzeichnis /var/www/test/ziel als quelle.jpg. Der Pfad soll also am Ende /var/www/test/ziel/quelle.jpg sein. Da FTP bisher funktioniert hat, copy() aber nicht versuche ich das mit ftp_rename($connect_id,"/var/www/test/quelle/quelle.jpg","/var/www/test/ziel/quelle.jpg"). Leider klappt auch das nicht. Die Verzeichnisse sind da, ich kann auf sie mit den FTP Funktionen zugreifen, sie wurden ja auch von ftp_mkdir angelegt, ftp_put funktioniert in beiden Verzeichnissen, ich bekomme aber folgende Fehlermeldung:

Warning: ftp_rename() [function.ftp-rename]: RNFR command failed. in
/srv/www/htdocs/test/service/upload.php on line 166
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 19.11.2007, 08:55
Benutzerbild von kampfgnom
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 22.11.2006
Ort: Radebeul
Beiträge: 1.809
kampfgnom befindet sich auf einem aufstrebenden Ast
Standard

Als erstes:
Welche Rechte haben diese Ordner?!
__________________
Meine Spielwiese: http://blog.kanedo.net
Ich bei Flickr? Da: Flickr: Fotostream von kanedo-projekt
Für open Source Liebhaber: open Com

Auch ich Zwitschere als @kanedo
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 19.11.2007, 11:02
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 26.04.2006
Beiträge: 32
Worance befindet sich auf einem aufstrebenden Ast
Standard

Die Ordner haben 755... Die Dateien 644
Mit Zitat antworten
  #4 (permalink)  
Alt 19.11.2007, 15:43
Benutzerbild von Timo
table-layout: none;
XHTMLforum-Kenner
 
Registriert seit: 11.11.2006
Beiträge: 5.354
Timo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein Lichtblick
Standard

hat die php datei die ausgeführt wird 777?
__________________
Um weitere Erklärungen eingeblendet zu bekommen, drücken Sie bitte die Tastenkombination Alt + F4
Mit Zitat antworten
  #5 (permalink)  
Alt 19.11.2007, 17:40
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 26.04.2006
Beiträge: 32
Worance befindet sich auf einem aufstrebenden Ast
Standard

Es funktioniert nun. Danke dennoch für eure Antworten. Ich hatte absolute Pfade verwendet. Laut php.net hätte dies funktionieren müssen. Hat es aber leider nicht. Mit relativen Pfaden hat es seltsamerweise funktioniert, die gleichen Dateien, mit den gleichen Verzeichnissen. Ich finds immer noch seltsam aber freue das es funktioniert, hatte schon eine schlaflose Nacht deswegen

Danke für eure Hilfe...
Mit Zitat antworten
  #6 (permalink)  
Alt 21.11.2007, 16:10
lässt grüßen
XHTMLforum-Mitglied
 
Registriert seit: 08.10.2007
Ort: Berlin
Beiträge: 189
code_junkie wird schon bald berühmt werden
Standard

Innerhalb des FTP-Protokolls ist der User meist in einer chroot-Umgebung, was bedeutet, dass er innerhalb eines Verzeichnisses eingesperrt ist. Dann sind die Pfade natürlich immer relativ zu dem Home-Pfad (welcher dann ja nicht als /var/ftp/users/mu/mustermann/test/ sondern schlicht als /test/ daherkommt).
Ist der User nicht in einer chroot-Umgebung, könnte der Home-Pfad für den FTP-Zugang z.B. im mustermann Verzeichnis sein, Zugang auf /var/ftp/users/mu wäre aber gestattet.
Wenn ein Script nun /test/ verlangt, würde es dieses nicht finden. Daher könnte es sinnvoll sein wirklich nur relative Pfadangaben im FTP-Bereich zu verwenden. Also test/bla oder ./test/bla
Das alles ist nur theoretisch, ich habe die FTP-Funktionen von PHP noch nicht benötigt. =)
Edit: Mit einem 'PWD' kriegt man ja auch den momentanen Pfad, direkt nach Verbindung könnte man also auch erstmal schauen, was da als Antwort kommt.

Gruß

Geändert von code_junkie (21.11.2007 um 16:13 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 21.11.2007, 17:05
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 26.04.2006
Beiträge: 32
Worance befindet sich auf einem aufstrebenden Ast
Standard

Ok, so hab ich das natürlich noch nicht betrachtet aber es leuchtet ein, was du sagst. Da sich der Ftp Zugriff auf ein einziges Verzeichnis + deren Unterverzeichnisse beschränkt, weiß ich recht genau, wo die Dateien hin müssen. Der User soll nicht navigieren können, es gibt kein FTP Programm im herkömmlichen Sinne.

Wie gesagt, es funktioniert so mit den relativen Pfaden, ich weiß nun dank euch auch warum.
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Datei per .htaccess umleiten TheGreenBat Serveradministration und serverseitige Scripte 1 11.07.2010 16:57
CSS Datei ändern per Hyperlink einfachder CSS 3 14.02.2009 10:12
div per Drag&Drop verschieben und bei Klick ausserhalb schließen Juuro Javascript & Ajax 4 25.01.2008 17:52
Ist absoluter container mit Höhe der ganzen Seite möglich? amroth.calaelen CSS 8 15.06.2006 15:57
[php/http] datei an client senden Xenon Serveradministration und serverseitige Scripte 13 21.03.2005 20:54


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:58 Uhr.