• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Downloaden

engel

New member
Ich habe das Downloaden einer Datei nicht richtig geschaft. Es soll eine Datei(agent.txt) die sich auf dem localhost befindet heruntergeladen werden(in C:\agenttest.txt). Der Fehler befindet sich mit grosser Wahrscheinlichkeit in der Beschreibung der Files. Es kommt bis zu der Funktion ftp_fget() und dort findet er die Quelldatei nicht, obwohl es vorhanden ist. Für die Hilfe bedanke ich mich im Voraus.
Hier ist der Abschnitt der Problematik:​
PHP:
<body>
<?php
$host = "localhost";
$user = "anonymous";
$password = "xxxxxxx";
$remotefile = 'agent.txt';
$localfile = 'C:\agenttest.txt';
$fp = fopen ($localfile, "w");
// Herstellen der Basis-Verbindung
$conn_id = ftp_connect($host);
// Einloggen mit Benutzername und Kennwort
$login_result = ftp_login($conn_id, $user, $password);
// Verbindung überprüfen
if ((!$conn_id) || (!$login_result)) {
echo "Ftp-Verbindung nicht hergestellt!";
echo "Verbindung mit $ftp_server als Benutzer $user nicht möglich";
die;
} else {
echo "Verbunden mit $ftp_server als Benutzer $user";
}
// download der Datei
[SIZE="3"]$download = ftp_fget($conn_id, $fp, $remotefile, FTP_ASCII);[/SIZE]// download-Status überprüfen
if (!$download) {
echo "Ftp download war fehlerhaft!";
} else {
echo "Datei geschrieben";
}
// Schließen des FTP-Streams
ftp_quit($conn_id);
fclose($fp);
?>
</body>
 
öhm, ein Webserver und auch FTP-Server befindet sich meist in einem Verzeichnis wie: "C:\Programme\Xampp\htdocs". Standardmäßig ist auch nur dieses Verzeichnis für download/upload freigegeben

ich frage mich aber, wieso du lokale Dateien via ftp holen willst...
 
Hallo Bieber, es ist folgendes: Eigentlich möchte ich eine Datei von localhost zu einem fremden Server transportieren. Das kann man natürlich per phpmyadmin machen (exportieren, importieren). Mein Wunsch besteht darin mit einem download die Datei irgendwo ablegen, danach wiederum mit einem Upload diese Datei zum fernen Server überführen. Danke für Deine Antwort.​
 
engel, wo genau liegt die Datei, die per FTP übertragen werden soll?
Nach Deiner Beschreibung gibt es drei Komponenten: fremder Server (Quelle), eigener Server (Ziel) und deinen lokalen PC (Benutzer).
Wo liegt jetzt genau was?
 
Also Folgender Sachverhalt: Ich arbeite mit MSACCESS an meinem Rechner. Access-Datenbank ist per odbc mit dem localhost in Verbindung. Dann mache ich in meiner Access-Datenbank in einer Tabelle eine Änderung. Jetzt muss diese Änderung in MySQL-Datenbank vom Strato(Provider)-ankommen. Deshalb möchte ich die veränderten Daten von localhost(xampp) irgendwo zwischenlagern(download), und danach wenn ich auf dem Strato-Server bin dorthin uploaden zu können.
Den umgekehrten Verlauf habe ich in Dateien schreibend probiert , das klappt.
Danke für die Interesse.​
 
Jo, dann wäre die Frage, wie aus einer Access Tabellenänderung eine Datei erzeugt wird. Ist das ein DB-Dump oder wie wird die Datei erzeugt? Und sobald sie erzeugt ist liegt sie ja immer lokal, warum braucht man dann ein ftp_fget von localhost?
Du machst ein fopen auf die lokale Datei (soweit kann ich folgen) und dann nochmal ein ftp_fget vom localhost (hier kann ich nicht mehr folgen). Wofür ist der FTP Get von localhost?
Ich würde nach dem fopen der lokalen Datei diese per FTP put'en und fertig. Verstehe das FTP auf dem localhost nicht.
 
Aber die Logik ist ja schon nicht nachvollziehbar, dann nützt die Syntax wahrscheinlich erstmal nichts.
Nach über einem Jahr, in dem immer wieder Teilprobleme des Gesamt-Problems auftauchen, teilweise auch mit Reiteration des selbigen, jedoch ohne wirkliche Lösung und mit nur sehr kleinen Fortschritten und Erkenntnisgewinn auf der Frageseite, stelle ich die Logik schon gar nicht mehr in Frage.
Außerdem habe ich den Quellcode nicht weiter analysiert, wenn schon so ein Windows-Bug ins Auge fällt.
 
@Albu: das \a steht in einfachen Anführungsstrichen - deswegen wird es nicht als Steuerzeichen interpretiert. Ist also kein Problem. Aber die Logik des Problems verstehe ich auch nicht.

EDIT: @engel: wenn du zum fremden Server übertragen willst ist dann nicht ftp_fput sinnvoller...
 
Zuletzt bearbeitet:
Zurück
Oben