Einzelnen Beitrag anzeigen
  #1  
Alt 27.12.2006, 01:53:42
bekiro bekiro ist offline
Anfänger
 
Registriert seit: Dec 2006
Ort: Düsseldorf
Alter: 54
Beiträge: 1
bekiro eine Nachricht über ICQ schicken
Daten von FTP-Server anzeigen lassen

Hallo zusammen,

ich bin neu hier im Forum und hoffe nicht gleich gegen irgendwelche Regeln zu verstossen. Und wenn ja möge man es mir bitte verzeihen ;)

Mein Chef möchte seinen Kunden die möglichkeit geben Daten per FTP an uns schicken zu können. Die Kunden sollen sich auf unserer Website mit einem Benutzernamen und Passwort einloggen können, um dann die Daten zu senden oder zu empfangen. Dies soll alles mit einem PHP-Script über die Website geschehen.

Das Problem ist, der FTP-Ordner ist nicht auf dem Server des Providers wo auch die Homepage liegt, sondern hier bei uns in der Firma. Das heisst, wir haben eine Festen IP und einen Rechner als FTP-Server vorgesehen. Jeder Kunde soll eigene Zugangsdaten und ein eigenes verzeichnis bekommen.

Der zugang zu dem FTP-Server klappt über einem FTP-Clienten ohne Probleme. Ich möchte nun den Script auf der Homepage so umwandeln, das die Daten die der Kunde zu uns schicken möchte nicht auf dem Server des Providers geladen werden, sondern auf den FTP-Server hier bei uns in der Firma.

Ich habe angefangen einen Script zu schreiben und komme nun nicht mehr weiter. Ich finde einfach keine Lösung für mein Problem. Wie muss die Pfadangabe in dem Script lauten das die Daten auch an einem dem FTP-Server weitergegeben werden können? Ich habe schon so einige schreibweisen ausprobiert, komme jetzt aber nicht mehr weiter.

Würde mich freuen wenn mir jemand helfen könnte. Bin für jede Hilfe dankbar.



Der eigentliche teil ist dieser:
PHP-Code:

$liste 
"<table>";
$liste .= "<tr><td>Ihre Dateien</td></tr>";
$dir opendir($verzeichnis);
while(
$datei readdir($dir)) {
    if ((
$datei != "..") and ($datei != ".")) {
    
$liste .= "<tr><td><a href=\"$ftp_server/$datei\">$datei</a></td></tr>"; } }
$liste .= "</table>";
echo 
$liste


Der gesamte Script:
PHP-Code:

<?php

$ftp_server 
"domain.de"// kann auch ip sein wie 187.129.129.64
$verbindung ftp_connect($ftp_server);

$datei_begrenzen "nein";
$datei_endung = array(".gif",".jpg",".png",".jpeg",".jpg",".pdf",".psd",".eps",".tif",".tiff",".doc",".txt");
$groessen_limit "nein";
$datei_groesse "200000";
$verzeichnis "datenaustausch";






if (
$verbindung) {
    
if (!isset(
$action)) {
    
$action ""; }
    
    switch(
$action) {
    default:
        echo 
'<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
        echo 
'Name: <input type="text" size="60" name="benutzer" value=""><br />';
        echo 
'Passwort: <input type="password" size="60" name="passwort" value=""><br />';
        echo 
'<input type="submit" value="Pr&uuml;fen">';
        echo 
'</form>';

        if (
$_POST["benutzer"] && $_POST["passwort"]) {
            if (
$_POST["benutzer"] == "") {
            
$_POST["benutzer"] = "anonymous"; }
    
            if (
$_POST["passwort"] == "") {
            
$_POST["passwort"] = "anonymous"; }
            
            
$ftp_benutzer $_POST["benutzer"];
            
$ftp_passwort $_POST["passwort"];
            
            
$eingeloggt = @ftp_login($verbindung$ftp_benutzer$ftp_passwort);
    
            if (!
$eingeloggt) {
                echo 
"Ihre Angaben sind nicht korrekt! Der Verbindungasufbau ist Fehlgeschlagen.<br />\n";
                echo 
"Ihre Angaben waren: <b>$ftp_benutzer</b> und <b>$ftp_passwort</b>."; } 
            else {
                echo 
"Sie sind mit dem Server verbunden. <a href=$PHP_SELF?action=upload>Daten Senden</a> oder <a href=$PHP_SELF?action=download>Daten Laden</a>"; } }
            break;
        
    case 
"download":
        echo 
"<a href=$PHP_SELF?action=upload>Daten Senden</a> oder <a href=$PHP_SELF?action=download>Daten Laden</a>";
        
$liste "<table width=700 border=1 bordercolor=#000000 style=\"border-collapse: collapse\">";
        
$liste .= "<tr><td width=700><center><b>Ihre Dateien</b></center></td></tr>";
        
$dir opendir($verzeichnis);
        while(
$datei readdir($dir)) {
            if ((
$datei != "..") and ($datei != ".")) {
                
$liste .= "<tr><td width=700><a href=\"$ftp_server/$datei\">$datei</a></center></td></tr>"; } }
        
$liste .= "</table>";
        echo 
$liste;
        break;

    case 
"upload":
        echo 
"<form method=POST action=$PHP_SELF?action=doupload enctype=multipart/form-data>";
        echo 
"Daten Senden:<br />\n";
        echo 
"<input type=file name=file size=30>";
        echo 
"<button name=submit type=submit>Senden</button>";
        echo 
"</form>";
        break;

    case 
"doupload":
        
$dir "dir";
        if (
$datei != "") {
            if (
file_exists("$verzeichnis/$datei_name")) {
                die(
"Datei existiert bereits"); }
            if ((
$groessen_limit == "ja") && ($datei_groesse $datei_groesse)) {
                die(
"Die Datei ist zu gross. Sie darf nicht groesser als $datei_groesse bytes sein."); }
            
$ext strrchr($datei_name,'.');
            if ((
$datei_begrenzen == "ja") && (!in_array($ext,$datei_endung))) {
                die(
"Die Datei gehoert nicht zu den erlaubten Dateitypen."); }
            @
copy($datei"$verzeichnis/$datei_name") or die("Die Datei konnte nicht auf der FTP-Server kopiert werden."); } 
    else {
        die(
"Datei zum Senden aussuchen"); }
    echo 
$datei_name." wurde gesendet.";
    echo 
"<br><a href=$PHP_SELF?action=upload>Weitere Daten Senden</a> <a href=$PHP_SELF?action=download>Weitere Dateien Downloaden</a>";
    break; }

}

else {
    echo 
"Leider ist der FTP-Server im Augenblick nicht erreichbar.<br />\n";
    echo 
"Bitte versuchen Sie es zu einem anderen Zeitpunkt wieder. <a href='javascript:history.back();'>Zur&uuml;ck</a>"; }
?>


Viele Grüsse. bekiro
Mit Zitat antworten