Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
[PHP5] Datei von einem Server zum anderen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




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...

 
asp2php
15-02-2005, 15:40 
 
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??

 
asp2php
15-02-2005, 18:32 
 
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?

 
asp2php
21-02-2005, 13:50 
 
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?

 
asp2php
21-02-2005, 14:01 
 
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).

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:03 Uhr.