Uploadscript funktioniert nur im Xampp?!

  • Hallo liebe Community.
    Ich habe ein Problem und zwar versuche ich aktuell ein kleines Privates Daten-Sharing Portal für mich und meine Freunde zu machen. Einfach aus übungszwecken und vielleicht erfüllt es ja auch einen Sinn. Aber egal. Es ist soweit eigentlich einsatzbereit und funktioniert der Upload nicht (mehr). Ich habe das gesamte Script erst angefertigt und komplett lokal, via Xampp getestet. Alles hat funktioniert. Dann habe ich nach und nach umgestellt. Es ging dann bis zu dem Zeitpunkt, das ich das Script lokal bei mir über Xampp habe und er Dateien auf einen entfernten FTP und bestimmte Ordner schickt. Das ist der letzte Stand wie es funktioniert.


    Es ist mir nicht möglich das Script auf dem selben FTP, oder einem anderen FTP zu legen und zu starten. Dann funktioniert das Script irgendwie nicht mehr. Er erstellt dann die Datei (Dateiname+Endung) aber sie bleibt dann einfach 0 Byte groß. Ich vermute ich habe da einen Denkfehler drin, habe aber auch schon von einem "POST-Methoden-Bug" gehört. Kann mir da jemand helfen, ich sitz das seit fast 2 Tagen dran und komme nicht weiter.
    Ich stell euch mal das Script rein.


    PHP
    1. <?php $FTPServer = "ftp.xxxxxx.xxxx"; $FTPUser = "xxx_xxxx"; $FTPPasswort = "xxxxx"; if(isset($_REQUEST['Send'])) { if (!isset($_POST['check1'])) { $Uploaddir='Philip/'; } elseif (!isset($_POST['check2'])) { $Uploaddir='Roman/'; } $file=$_FILES['Datei']['name']; $VerbindungsID = ftp_connect($FTPServer); $LoginErgebnis = ftp_login($VerbindungsID, $FTPUser, $FTPPasswort); if($VerbindungsID && $LoginErgebnis) { $UploadErgebnis = ftp_put($VerbindungsID, $Uploaddir.$file, $_FILES['Datei']['tmp_name'], FTP_BINARY); { if($UploadErgebnis) { echo'Die Datei wurde hochgeladen!<br /> <a href="start.php">Zur&uuml;ck zur Startseite</a>'; } else { echo'Die Datei konnte nicht hochgeladen werden.<br /> <a href="eingeloggt-ul.php">Erneut versuchen!</a>'; } ftp_quit($VerbindungsID); } } else { echo "Es konnte keine Verbindung mit dem FTP-Server hergestellt werden."; } } else { ?> <body bgcolor="#C0C0C0"> <table border="2" align="center"> <tr> <td><div align="center"><h1>Willkommen im Uploadbereich!</h1><br /> <p>Hier kannst du eine Datei mit deinen Freunden teilen.</p> <p>Einfach ausw&auml;hlen und markieren wer sie sehen darf.</p> </div> </td> <td><div align="center"> <form action="<?php echo$_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post"> <p><input type="file" name="Datei" size="45" /></p> <p><input type="checkbox" name="check1" /> Philip<br /></p> <p><input type="checkbox" name="check2" /> Roman<br /></p> <p><input type="submit" name="Send" value="Hochladen!" /></p> </form> </tr> </td> </div><?php }?>


    Vielleicht könnt ihr da mal durchschauen, ob euch was auffällt. Oder liegt es an den FTP´s das dort die Scripte nicht richtig ausgeführt werden, wegen firewall o.ä.?


    Bitte helft mir. [Blockierte Grafik: http://www.php.de/images/smilies/smile.gif]


    Mit freundlichen Grüßen


    Billy "the php-kid"


    EDIT: Warum wird der Code so zusammengeschoben? Kann jemand sagen wie ich das anpasse? So geht das ja garnicht :o

    3 Mal editiert, zuletzt von Bandit () aus folgendem Grund: Quellcode-Ansicht korrigiert und FTP-Zugangsdaten entfernt

  • Ähm, die Datei bleibt doch auf dem Server, oder die Datei auf einem anderen Server gespeichert werden? Wenn die Datei auf dem Server bleibt, brauchst du doch kein FTP.

  • Das ist irgendwie ein Denkfehler. Also das Script liegt auf FTP1. Die datei zum hochladen kommt von PC1. Gespeichert werden soll die Datei auf FTP2.
    So ist es geplant. Aber meine Vermutung ist das er die Datei die ich hochladen will, auf dem FTP wo das Script liegt sucht und nicht findet, und deshalb nur Datei erstellt aber nicht "füllt".
    Ich steh völlig aufm Schlauch. Jemand Lösungsansatz oder erklärung was ich jetzt falsch denke?

  • Hab ich grade mal gemacht. Er gibt "0" aus. Ich bin quasi im Anfängerstatus von PhP deshalb weiß ich nicht genau was das nun bedeutet?!


    Wär lieb wenn du mir das mal erklären kannst :)