Upload zum FTP Server
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anmelden
benutzer
benutzername
code
datei
fehler
ftp
hergestellt echo
herstellen
host
jemand
kennwort
login
meldung
null
port
show
test
url
verbindung
-
<?php $ftp_server = "ftp.lima-city.de"; $connection_id = ftp_connect($ftp_server); $benutzername = "skateen"; $passwort = "aw......"; $login_result = ftp_login($connection_id, $benutzername, $passwort); $zieldatei = "/upload/test.htm"; $lokale_datei = "/upload/test.htm"; $upload = ftp_put ($connection_id, $zieldatei, $lokale_datei, FTP_ASCII); // Diese Variablen bitte ändern $ftp_server = "ftp.lima-city.de"; $benutzername = "skateen"; $passwort = "aw...i"; // Die Verbindung herstellen $connection_id = ftp_connect($ftp_server); // Mit Benutzername und Kennwort anmelden $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>"; } // Hochladen der datei $upload = ftp_put($connection_id, $zieldatei, $lokale_datei, FTP_ASCII); // Upload-Status überprüfen if (!$upload) { echo "<P>Ftp upload war fehlerhaft!</P>"; } else { echo "<P>Datei $slokale_datei auf $host als $zieldatei geschrieben</P>"; } // Schließen der Verbindung ftp_quit($connection_id); ?>
Ich hab jetzt so ein Upload PHP Script jetzt hinbekommen.
Leider geht das nicht kann mir jemand helfen.
Beitrag zuletzt geändert: 17.9.2011 22:21:17 von skateen -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich musste das kurz umändern, vorher war das ja über bplaced.
-
Bleibt trozdem noch die Frage nach dem WAS und nach eventuellen Fehlermeldungen.
mfg -
skateen schrieb:
Es kommt keine Fehler Meldung
nach nur ganz wenig änderungen funktioniert dein kode einwandfrei:
<?php error_reporting(E_ALL | E_STRICT); // Diese Variablen bitte ändern $ftp_server = 'ftp.lima-city.de'; $benutzername = '<user>'; $passwort = '<password>'; $zieldatei = './test.html'; $lokale_datei = './test.html'; // Die Verbindung herstellen $connection_id = ftp_connect($ftp_server); // Mit Benutzername und Kennwort anmelden $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>"; } // Hochladen der datei $upload = ftp_put($connection_id, $zieldatei, $lokale_datei, FTP_ASCII); // Upload-Status überprüfen if (!$upload) { echo "<P>Ftp upload war fehlerhaft!</P>"; } else { echo "<P>Datei $slokale_datei auf $host als $zieldatei geschrieben</P>"; } // Schließen der Verbindung ftp_quit($connection_id);
Hat jemand ein Fertigen Upload PhP Code
also ich habe zwar keinen, aber kann dir einen hinweis geben, wie man's angeht (um die sicherheit solltest allerdings selber sorgen [und zwar unbedingt!]):
file 1. /<path>/<to>/CLimaFtpData.php (besonders schützen! bei mir steht so etwas gar nicht erst am selben server!)<?php class CLimaFtpData { // connect data public $host = 'ftp.lima-city.de'; public $port = 21; public $tmout = 5; // default timeout = 90 sec. // login data public $user = '<user>'; public $passwd = '<password>'; }
file 2. /<path>/<to>/CLimaFtp.php
das ist allerding alles nur nicht fertig (man sollte z.b. public function error($msg) so gestalten, dass das ganze nicht abbricht)! wie du sehen kannst allein ftp_raw und ftp_rawlist sind implementiert. wenn's dir spaß macht kannst beenden ;o)<?php class CLimaFtp extends CLimaFtpData { private $conn = null; private $login = null; private $sys = null; private $feat = null; // server features private $stat = null; private $help = null; // other private variables public $pwd = null; // current working directory public $file = null; public $rec = null; // recursive dir public $rawl = null; public $raw = null; // other public variables public function __construct() { $this->conn = ($c = ftp_connect($this->host, $this->port, $this->tmout)) ? $c: $this->error('unknown host, erroneous port number or timeout'); $this->login = ($l = ftp_login($this->conn, $this->user, $this->passwd)) ? $l: $this->error('incorrect login data'); $this->sys = ftp_systype($this->conn); $this->pwd = ftp_raw($this->conn, 'PWD'); $this->feat = ftp_raw($this->conn, 'FEAT'); $this->stat = ftp_raw($this->conn, 'STAT'); $this->help = ftp_raw($this->conn, 'HELP'); } /** * LIST OF IMPLEMENTED PHP-FTP FUNCTIONS (# = IMPLEMENTED) * ftp_alloc * ftp_cdup * ftp_chdir * ftp_chmod * ftp_close * ftp_connect * ftp_delete * ftp_exec * ftp_fget * ftp_fput * ftp_get_option * ftp_get * ftp_login * ftp_mdtm * ftp_mkdir * ftp_nb_continue * ftp_nb_fget * ftp_nb_fput * ftp_nb_get * ftp_nb_put * ftp_nlist * ftp_pasv * ftp_put * ftp_pwd * ftp_quit * # ftp_raw * # ftp_rawlist * ftp_rename * ftp_rmdir * ftp_set_option * ftp_site * ftp_size * ftp_ssl_connect * ftp_systype */ public function raw($cmd) { $this->raw = ftp_raw($this->conn, $cmd); } public function rawlist($dir = '/', $rec = false) { if(empty($dir)) { $dir = $this->dir; } $this->rawl = ($l = ftp_rawlist($this->conn, $dir, $rec)) ? $l: $this->error('rawlist error'); } /** * helper functions */ public function error($msg) { exit($msg); } // for testing only public function __toString() { return '<pre>' . print_r($this, true) . '</pre>'; } public function __destruct() { if($this->conn) { #echo '<h1>__destruct()</h1>'; ftp_quit($this->conn); } } }
ein test könnte eventuell so aussehen:
und das tut auch nichts anders als eine auflistung von '/' (wobei nicht einmal eine ausgabe programmiert ist[daher '__toString()' in der class]).<?php // includes with absolutr paths require_once '/<path>/<to>/CLimaFtpData.php'; require_once '/<path>/<to>/CLimaFtp.php'; // ... $ftp = new CLimaFtp(); // show directory listing $ftp->rawlist('/'); // show object data exit(''.$ftp);
mit dem testen auf lima musst du leider bis übermorgen warten :(
Beitrag zuletzt geändert: 19.9.2011 14:46:11 von hemiolos -
Danke So wie ich das verstanden habe muss ich mit diesen Script daraus 2 Daten machen, oder?
Ich weiß nicht wie ich das verbinden soll. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage