Upload via FTP Formular

Hallo an alle,

ich kenne mich nicht sehr mit php aus, was auch der gund ist, warum ich eure Zeit stehle… . Meine Frage an euch ist, ob jemand ein Upload Formular hat, das mit hilfe von ftp auf meinen Server übertragen wird. Aber das Formular sollte 3 Funktionen haben:

1.) Es sollte eine Fortschrittsanzeige haben, oder eine Prozent anzeige (oder etwas ähnliches).

2.) Nach dem Upload soll zu einer weiteren Seite weitergeleitet werden.

3.) Die Dateien Größe sollte maximal 50 MB betragen.

Könnte mir vielleicht einer helfen ? Vielen, vielen Dank an euch im Voraus.

wenn du willst das es dir jemand amcht schreibs in die jobbörse…
wenn du wissen willst wie du selber einen upload machen kannst dann google doch mal nach „php upload“

Selb verständlich hab ich schon geschaut. Ich habe nur keine ahnung wie man diese 3 dinge festlegt :

<?php $ftp_server = 'ftp.ulmerfeld.ul.funpic.de'; $ftp_user_name = 'ulmerfeld'; $ftp_user_pass = 'geheim'; $destination_file = $_FILES['userfile']['name']; $uploaddir = '/var/www/uploads/'; $source_file = $uploaddir. $_FILES['userfile']['name']; // Verbindungsaufbau $conn_id = ftp_connect($ftp_server); // Login mit Username und Passwort $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); // Verbindung überprüfen if( (!$conn_id) || (!$login_result) ) { echo "Es konnte keine Verbindung hergestellt werden!"; exit; } else { echo "Verbindung hergestellt."; } // Datei hochladen $upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY); // Upload überprüfen if( !$upload ) { echo "Upload ist fehlgeschlagen!"; } else { echo "Datei $source_file wurde hochgeladen."; } // FTP Verbidung schließen ftp_close($conn_id); ?>

Die Dazu passende html Datei:

File:

Welche drei Dinge?

1.) Es sollte eine Fortschrittsanzeige haben, oder eine Prozent anzeige (oder etwas ähnliches).

2.) Nach dem Upload soll zu einer weiteren Seite weitergeleitet werden.

3.) Die Dateien Größe sollte maximal 50 MB betragen, bitte.

Eine Fortschrittsanzeige ist mit einer synchronen Übertragung IMHO nicht möglich. Da müsste meiner Meinung nach Ajax her. Weil die Seite sich ja erst wieder aufbaut, wenn alles übertragen ist und der Server eine neue Seite zurück geliefert hat.

Eine Weiterleitung macht man mit dem PHP-Befehl header(). Bitte im Manual auf PHP: Hypertext Preprocessor nachsehen.

In diesem Script sind 30000000 Bytes als Maximalgröße eingetragen. Ob und unter welchen Umständen das so funktioniert, weiß ich nicht.

Poblem

Aus irgend einem Grund scheint der php Code nicht zu funktionieren. Kann ich auch den hier Verwenden ? :

<?php define('ADMIN_USER','zefug'); define('ADMIN_PASSWORD','blabla'); define('FTP_HOST','000000'); define('FTP_USER','blabla'); define('FTP_PASSWORD','000000'); if ((!empty($_SERVER['PHP_AUTH_USER'])) && (!empty($_SERVER['PHP_AUTH_PW'])) && ($_SERVER['PHP_AUTH_USER']==ADMIN_USER) && ($_SERVER['PHP_AUTH_PW']==ADMIN_PASSWORD)) { $adminuser=true; } else { $adminuser=false; } if (isset($_GET['login'])) { if ($adminuser==true) { header('Location:'.$_SERVER['PHP_SELF']); } else { header('HTTP/1.1 401 Unauthorized'); header('WWW-Authenticate:Basic'); } } else { if ($adminuser==true) { echo ''; echo 'FTP-Upload'; echo ''; if (isset($_POST['upload'])) { if (($_FILES['uploadfile']['error']==0) && ($_FILES['uploadfile']['size']<50000) && (!empty($_FILES['uploadfile']['name']))) { require_once('ftpconnection.class.php'); $ftp=new ftpconnection(FTP_HOST,FTP_USER,FTP_PASSWORD); if ($ftp->put($_FILES['uploadfile']['tmp_name'],$_FILES['uploadfile']['name'])) { echo $_FILES['uploadfile']['name'].' wurde erfolgreich Hochgeladen
'; } else { echo $_FILES['uploadfile']['name'].' konnte nicht übertragen werden.
'; echo 'Bitte pobier es später nochmal
'; } unset($ftp); } else { echo $_FILES['uploadfile']['name'].' konnte nicht hochgeladen werden.
'; } } echo ''; echo ''; echo '
'; echo ''; echo ''; echo ''; echo ''; } else { header('Location:'.$_SERVER['PHP_SELF'].'?login'); } } ?>

Pobleme

Ok, momentan such ich nur einen php der funktioniert. Ich finde aber keinen. Der Oben genannte Code funktioniert nicht. Ich habe sehr viele Codes von Google ausprobiert, aber keiner funktioniert. Kann mir einer weiterhelfen ?

Sch doch mal hier, vielleicht hilft Dir ja das ein oder andere weiter: PHP: FTP - Manual

Gruß thuemmy