Archiv verlassen und diese Seite im Standarddesign anzeigen : [PHP5] Datei von einem Server zum anderen
Simon6785 15-02-2005, 15:15 Hallo, ich hab ein kleines Problem: ich hab auf meinem Lokalen Server eine Datei und will diese Datei auf meinen WebServer laden. Hab schon gedacht ich füge einfach file felder ein, füge die URL per value ein und schicke das Formular ab, aver das value geht ja nicht bei File feldern. Wie kann man das sonst noch machen, so das ich nicht die Datei manuell auswählen muss? Die URL der datei hab ich... Hab schon an FTP gedacht, nur find ich dazu hier wenig...
z.B. per fsockopen Verbindung aufbauen, dann ein POST mit den Daten absetzen
eintrachtemil 15-02-2005, 15:41 http://de.php.net/manual/de/ref.ftp.php
Simon6785 15-02-2005, 18:14 hm, per ftp? hmm, ich glaub das wird nix... hab das hier zetzt mal gefunden
<?php
function PostToHost($host, $path, $referer, $data_to_send) {
$fp = fsockopen($host,80);
printf("Open!
");
fputs($fp, "POST $path HTTP/1.1
");
fputs($fp, "Host: $host
");
fputs($fp, "Referer: $referer
");
fputs($fp, "Content-type: application/x-www-form-urlencoded
");
fputs($fp, "Content-length: ".strlen($data_to_send)."
");
fputs($fp, "Connection: close
");
fputs($fp, "$data_to_send
");
printf("Sent!
");
while(!feof($fp)) {
$res .= fgets($fp, 128);
}
printf("Done!
");
fclose($fp);
retu
$res;
}
$data = "pid=14&poll_vote_number=2";
printf("Go!
");
$x = PostToHost(
"www.linux.com",
"/polls/index.phtml",
"http://www.linux.com/polls/index.phtml?pid=14",
$data
);
?>
problem: WIE KANN ICH DA BILDER SENDEN??
hm ... etwa so
POST <url> HTTP/1.0
Content-Type: multipart/form-data; boundary=<something>
Content-Length: <length>
Content-Disposition: form-data; name="..."; filename="..."
Content-Type: application/...
<hier Dateidaten>
Simon6785 21-02-2005, 13:42 also ich habs jetzt mal mit FTP versucht und bin auf diesen Code gestoßen:
<?php
// Herstellen der Basis-Verbindung
$conn_id = ftp_connect("$ftp_server");
// Einloggen mit Benutzername und Kennwort
$login_result = ftp_login($conn_id, "$ftp_user_name", "$ftp_user_pass");
// Verbindung überprüfen
if ((!$conn_id) || (!$login_result)) {
echo "Ftp-Verbindung nicht hergestellt!";
echo "Verbindung mit $ftp_server als Benutzer $ftp_user_name nicht möglich";
die;
} else {
echo "Verbunden mit $ftp_server als Benutzer $ftp_user_name";
}
// Upload der Datei
$upload = ftp_put($conn_id, "$destination_file", "$source_file", FTP_BINARY);
// Upload-Status überprüfen
if (!$upload) {
echo "Ftp upload war fehlerhaft!";
} else {
echo "Datei $source_file auf $ftp_server als $destination_file geschrieben";
}
// Schließen des FTP-Streams
ftp_quit($conn_id);
?>
Also die Verbindung bekomme ich, nur wo kann ich eingeben in welchen ordner hochgeladen werden soll, und wie muss die variable $source_file bzw destination_file aussehen?
warum liest du kein Manual :motz:
http://www.php.net/manual/en/ref.ftp.php
Simon6785 21-02-2005, 13:59 nunja, es steht da einfach nicht... also destination und source File müssen als Pfad da angegeben werden, oder was? Und zwar wenn ich mich mit nem FTP Programm einlogge von da aus, oder was? oder vom Server Root? Ich blick ned durch, wie muss denn so eine Variable aussehn?
schon mal ftp_chdir angeschaut?
Simon6785 21-02-2005, 15:26 juhuu, ich habs tatsächlich geschafft das zusammenzubasteln!! Danke! Nurnoch ein kleines Problem: Damit ich auf meinem Lokalen Server (Xampp) Bilder schreiben kann muss ich ja einem ordner chmod 777 geben. Auf meinem Webserver mach ich das ganz einfahc per FTP client, aber wie mach ich das lokal bei xampp??!???
penizillin 21-02-2005, 16:47 vielleicht sollte man es zum sticky-post hinzufügen: xampp ist keine anwendung. das das ganze paket einen gemeinsamen installer hat, hat nichts zu bedeuten. hab gerade ein paar posts zurück gelesen: "bla, problem, winxp+xampp". datei/ordner eigenschaften -> sicherheit (oder so).
|
-
- |