[PHP] Auf Ftp verbinden und Datei prüfen ob vorhanden ist [Problem]

Syko?

Grünschnabel
Liebe Community,
Ich bin neu hier und habe ein Problem, beim vielen male googlen bin
Ich auf diese Seite gestoßen.

Mein Problem ist folgendes.
Ich möchte ein UserCP programmieren und scheiter bei dem Login.
Ich will mit PHP, auf den FTP Server verbinden und überprüfen ob
die eigebene Benutzername zB. "Syko", die Datei "Syko.ini" vorhanden ist.

Jedoch prüft er bei mir ob die Datei im Web vorhanden ist, wo das UCP ist, und das will ich
ja nicht, sondern, will prüfen ob es auf dem FTP Server vorhanden ist.

Mein Code:
PHP:
ftp_chdir($FTP, "/Accounts"); 
  if(file_exists($Benutzername.'.ini'))

Hoffe das jemand mein Problem lösen kann.
Eine zwischendurch Frage habe ich auch noch, undzwar will ich,
das man sein Passwort im Profil ändern kann, wie kann ich in der Ini Datei die
Zeile "Passwort=PW" ändern und gleichzeitig abspeichern?

Danke im vorraus.
Mfg, Syko?.
 
Da du ja anscheinend die FTP-Funktionen hast, kannst du ja ftp_nlist() verwenden, um herauszubekommen, ob die Datei existiert. Ungefähr so:

PHP:
ftp_chdir($FTP, "/Accounts");  // Eigentlich ist ein Wechsel nicht notwendig, ftp_nlist() kann auch mit Pfaden arbeiten
$allFiles = ftp_nlist($FTP, '.');  // Besorge alle Dateien im aktuellen Verzeichnis
$exists = false; // Initialisiere Variable
foreach($allFiles as $file)
{
  if($file == $Benutzername . '.ini' ) // Prüfe ob der aktuelle Dateiname aus der Liste $allFiles dem gesuchten entspricht
  {
    $exists = true; // Gefunden
    break; // Breche die Schleife ab
  }
}

EDIT: Für die anderen Vorgänge wirst du wohl die Datei mit ftp_get() herunterladen, mit fopen() die Datei lokal zum schreiben öffnen, mit fprintf() (oder einer anderen Schreibe-Funktion) das gewünschte rein schreiben, mit fclose() schließen und mit ftp_put() das Ergebnis wieder hoch laden.

EDIT2: Wenn du ohnehin die Datei überschreiben willst, brauchst du ja eigentlich nicht mal prüfen, ob sie schon existiert, oder?
 
Zuletzt bearbeitet:
Zurück