• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[ERLEDIGT] FTP Upload

Maximilian

Mitglied
Hallo,

Ich habe eine Textarea erstellt, dessen Inhalt ich in einer .doc auf einem FTP-Server speichern möchte. Den Dateinamen soll der User selbst eingeben können. Folgenden Code habe ich bereits erstellt:
PHP:
<?php           

# Textarea auslesen und in .doc schreiben

if(isset($_POST['save'])) {
  $inhalt  = $_POST['inhalt_textarea']."\n";
  $dateiname = $_POST['dateiname'];

  $datei = fopen("./".$dateiname.".doc","a+");
  fwrite($datei,$inhalt);
  fclose($datei);
}

#file upload auf FTP

$ftp_server = "XXX";
$benutzername = "XXX";
$passwort = "XXX";
 
// die verbindung herstellen
$connection_id = ftp_connect($ftp_server);
 
$login_result = ftp_login($connection_id, $benutzername, $passwort);
 
// überprüfen ob alles gutgegangen ist
if ((!$connection_id) || (!$login_result)) {
echo "<H1>Ftp-Verbindung nicht hergestellt!<H1>";
echo "<P>Verbindung mit ftp_server als Benutzer $benutzername nicht möglich!</P>";
die;
} else {
echo "<P>Verbunden mit ftp_server als Benutzer $benutzername</P>";
}

// datei öffnen zum upload
$fp = fopen($datei, 'r');

// datei upload
if (ftp_fput($connection_id, $datei, $fp, FTP_ASCII)) {
    echo "$datei wurde erfolgreich hochgeladen\n";
} else {
    echo "$datei konnte nicht hochgeladen werden\n";
}

Das Problem ist, dass ich zwar die Datei erstellen kann und diese auch als .doc abgespeichert wird, jedoch funktioniert mein FTP-Upload nicht.
Folgende Fehlermeldung erhalte ich:

Warning: fopen() expects parameter 1 to be string, resource given in C:\xampp\htdocs\lernen2.php on line 35
Warning: ftp_fput() expects parameter 2 to be string, resource given in C:\xampp\htdocs\lernen2.php on line 38
Resource id #3 konnte nicht hochgeladen werden

LG und schonmal Danke für eure Antworten!
Maximilian
 
Werbung:
Guck doch mal genau hin, was hast du hier für Variablen:
PHP:
$fp = fopen($datei, 'r');
und hier:
PHP:
if (ftp_fput($connection_id, $datei, $fp, FTP_ASCII))
 
Ich verstehe die Fragen nicht genau, um ehrlich zu sein.
Ich dachte mir, ich öffne die Datei mit fopen() um sie dann via ftp_fput() auf meinen Server zu laden?
 
Werbung:
Also, ich würde nochmal genau hinsehen, was wohl in $datei steht. Ein Dateiname bestimmt nicht.
 
Super, funktioniert! Danke für Deine Hilfe!

Habs übrigends so gelöst...

PHP:
// datei öffnen zum upload
$fp = fopen("./".$dateiname.".doc","a+");

// datei upload
if (ftp_fput($connection_id, $dateiname, $fp, FTP_ASCII)) {
    echo "$datei wurde erfolgreich hochgeladen\n";
} else {
    echo "$datei konnte nicht hochgeladen werden\n";
}

LG
Maximilian
 
Zurück
Oben