ftpconnection.class.php problem

Haxley

Grünschnabel
Hallo
ich hab ein Problem mit der ftpconnection.class.php.

Die Klasse ist eingebunden aber ich komme mit den Pfaden nicht richtig klar.
Das Script soll eine Bild vom lokalen Server auf einen Externen übertragen.
mein Script:

PHP:
<?php
include ('includes/require.php');

$feldid = isset($_GET['feldid']) ? $_GET['feldid'] : feldid; //artikel ID
$pic_id = isset($_GET['pic_id']) ? $_GET['pic_id'] : pic_id; // Bildname 
$pic_reload = isset($_GET['pic_reload']) ? $_GET['pic_reload'] : pic_reload; // art des Bildes tumb, info oder popup
	
if ($pic_reload == 'thumb'){
			$local_file = DIR_WS_THUMBNAIL_IMAGES;
			$remote_file= FTP_SHOP_THUMBNAIL_IMAGES;
			}
//pfade sind wo anders definiert z.B. so:
//define('DIR_WS_THUMBNAIL_IMAGES', 'images/product_images/thumbnail_images/');

// Die Verbindung herstellen
$ftp=new ftpconnection($host = FTP_SHOP_WWW,$username = FTP_SHOP_LOGIN,$password = FTP_SHOP_PW );  
// zugang ist wo anders dediniert und eingebunden z.B. so:   define('FTP_SHOP_LOGIN', 'web2');
  if ($ftp->put($_FILES[$local_file][$pic_id],$_FILES[$remote_file][$pic_id])) 
  { 
    echo $_FILES[$local_file][$pic_id].' has been uploaded succesfully.<hr>'; 
  } 
   else 
       { 
        echo $_FILES[$local_file][$pic_id].' could not be transfered to the FTP-server.<br>'; 
        echo 'Please try again later.<hr>'; 
       } 
 unset($ftp);

Frage:
1. Ist das Login richtig?
2. $local_file =...., welcher Pfad muß zur lokalen Datei angegeben werden? der http://www.... oder der absolute Pfad?
3. ist es sinnvoll den Bildnamen einzeln zu handeln?
4. $remote_file= ...., wie sieht der Pfad zum externen Server aus? Wird ein Teil des Logins schon mit verwendet? Oder muß ich den komplett angeben?
Eigentlich doch z.B. so oder: 'images/product_images/thumbnail_images/
wenn die URL z.B: so aussieht: http://www.mein ExternerServer.de/'images/product_images/thumbnail_images/ mein Bild.jpg


Besten Dank für die Hilfe.

Gruß Haxley
 
lokal und remote file jeweils ohen http:// und domain. Und soweit ich weiss müssen die Ordner auf dem remote Server auch jeweils existieren.

Aber das $local_file wird ja jetzt als index für die hochgeladenen Dateien verwendet, dann sollte $local_file ja nicht ein Pfad sein, sondern der richtige Index um die hochgeladene Datei anzusprechen (also der Name des Feldes in deinem Formular, mit dem du die Datei hochlädst).

Ich denke der put() Methode musst du nur den Pfad+Name der Datei die du hochladen willst angeben und als zweites Argument den Pfad auf dem Server wo sie gespeichert werden soll, relativ zum Verzeichnis in dem du auf dem Server landest.

Zum Beispeil:

Lokale Datei: /usr/local/bild.jpg
htdocs auf dem Ftp-Server: /var/www/du/htdocs/
FTP-Pfad: /images/
Domain: http://www.meineDomain.de/images

Dann übergibst du der put() Methode folgendes:

PHP:
$ftp->put("/usr/local/bild.jpg", "images/");
 
Zurück