FTP mit PHP Auslesen!

Hannibal

Erfahrenes Mitglied
Ich habe ein Script dass ich mir ergoogelt habe in meine Seite eingebunden und mit meinen Serverdaten versehen! Das Script stellt eine Verbindung zum FTP Server her und macht ein schönes Directory Listing.

Doch das anklicken der Dateien funktioniert leider nicht.

Kann es sein dass mein Host, absichtlich solche Usernamen erstellt damit dieser Type von Script nicht geht?

Mein Username ist: race@pixelhunter.ch (username)

Hier das Script:

PHP:
	<?php
        $sServer = "ftp.pixelhunter.ch";
        $iPort = 21;

        $sUser = "race@pixelhunter.ch";
        $sPw = "Lecks_mer_am_";

        if ($iTemp = @fsockopen($sServer, 21, $devnull, $devnull, 1)) {
        	fclose($iTemp);

	        $sDir = (!isset($_GET['dir']))?"/":$_GET['dir'];

	        if ($sDir == "" || $sDir{strlen($sDir)-1} != "/") {
	            $sDir .= "/";
	        }


	        $iFtpCon = @ftp_connect($sServer, $iPort);

	        if ($iFtpCon) {
	            if (@ftp_login($iFtpCon, $sUser, $sPw)) {
	                ftp_chdir($iFtpCon, $sDir);

	                if ($sDir != "/") {
	                    echo "<img src=\"/icons/back.gif\" border=\"0\"> <a href=\"movies_index.php?dir=".substr($sDir, 0, strrpos(substr($sDir, 0, strlen($sDir)-1), "/")+1)."\">Vorheriges Verzeichnis</a><br>\n";
	                }

	                $aFileList = ftp_nlist($iFtpCon, ".");
                    asort($aFileList);
                    reset($aFileList);

	                while(list($devnull, $sFileName) = each($aFileList)) {
	                    $sExt = explode(".", $sFileName);
                        $sExt = $sExt[count($sExt) -1];
	                    if (!strpos($sFileName, ".")) {
	                        echo "<img src=\"/icons/folder.gif\" border=\"0\"> <a href=\"".$_SERVER['PHP_SELF']."?dir=".$sDir.$sFileName."\">".$sFileName."</a><br>\n";
	                    } else {
	                        echo "<img src=\"/Tuningzone/images/icons/media-player.gif\" border=\"0\"> <a href=\"ftp://".$sUser.":".$sPw."@".$sServer.$sDir.$sFileName."\">".$sFileName."</a><br>\n";
	                    }
	                }
	            } else {
	                echo "Login fehlgeschlagen. Bitte versuch später nocheinmal!";
	            }
	            ftp_quit($iFtpCon);
	        }
        } else {
        	?>
  Leider ist der Server gerade nicht verfügbar. <br>
            Bitte versuch später noch einmal!
            <?php
        }
	    ?>


Kann es sein dass ich den ftp:// String mit 2x @ überhaupt nicht hinbekomme? Hätte ich kein @ im username wäre alles ok :(
 
Zuletzt bearbeitet:
NeNe dass ist kein Problem, der ist in das Verzeichnis gebunden :rolleyes: !

aber ich denke mir wird eh keiner helfen können :rolleyes:
 
Original geschrieben von Hannibal
NeNe dass ist kein Problem, der ist in das Verzeichnis gebunden :rolleyes: !

aber ich denke mir wird eh keiner helfen können :rolleyes:

Vielleicht liegt es gerade daran, dass die Daten an das Verzeichniss gebunden sind! Eigentlich sollte es an dem @ nicht liegen! Immerhin ist das ein einfacher String, der zumindest von PHP in keinster Weise interpretiert wird! Bekommst du nen Fehler angezeigt?
 
Das ganze ist leider so, dass der PHP Code verbinden kann und die Daten schön ausliest und ein Verzeichniss darstellt, aber wenn ein User auf den Link klickt, wird der String für den Internet Explorer zusammengestellt und dieser versteht dass mit dem @ im dateinamen als trennzeichen für user@server, so geht es leider nicht :(
 
Eigentlich müsste der Browser das so trennen:

username:password@domainname

Da müsste auch ein @ im username möglich sein!
 
ja? was zur hölle mache ich denn falsch? wenn ich auf einen server verbinde der nur einen username hat geht es :(

ach mann
 
Ich habe mit meinem Host geredet und da ist nichts zu machen, einen anderen FTP User bekomme ich nicht, also werde ich das ganze wohl mit einen PHP Script auslesen und Download Links erstellen.
 
Zurück