lampux
Goto Top

PHP Uploadscript zu externen Webspace mit verschiedenen Zugängen

Guten Tag,

ich bin dabei ein Script zusammen zu basteln, das Dateien auf einen externen Webspace hochladen kann. Anschließend sollte man auf einen Button "Transfers beenden" drücken und es sollen die Zugangsdaten angezeigt werden. Genauer beschrieben:

Das Uploadscript, liegt im Intranet bei mir zuhause ( auf dem Webserver bei mir zuhause). Es gibt viele User die das Intranet nutzen und dort Dateien für Kunden auf dem FTP Server (Webspace) zur Verfügung stellen wollen. Auf dem FTP-Server werde ich mehrer Zugänge erstellen. Jedesmal wenn ein User, bestimmte Dateien hochladen möchte, wird der Zugang gewechselt. Grund: Ein User möchte seinem Kunden auf unserem FTP etwas zur Verfügung stellen, dass auch nur der gewissen Kunde sehen darf. User 2 möchte einem anderen Kunde etwas zur Verfügung stellen, dass auch nur dieser sehen darf ( Also benötigt dieser ein anderen Zugang auf dem FTP).

Also pro Uploadvorhaben, ein Zugang. Nachdem der User die Dateien hochgeladen hat, sollen ihm die Zugangsdaten angezeigt werden. Das Problem sehe ich darin, wenn zwei User gleichzeitig das Script nutzen möchten, dann wird es wahrscheinlich auf einem Zugang alles uploaden. Eine Loginfunktion der User beim Intranet gibt es nicht.

Habt ihr eine Idee wie ich dieses Vorhaben umsetzen könnte? Vielleicht gibt es auch schon ein fertiges Script dazu? Falls ihr etwas wisst oder gegebenenfalls einen passenden Code parat habt, bitte her damit face-smile

Leider funktioniert mein Uploadscript, auch noch nicht so, wie ich möchte:

<?
if($_FILES['datei1']['tmp_name'] OR $_FILES['datei2']['tmp_name'] OR $_FILES['datei3']['tmp_name'] OR $_FILES['datei4']['tmp_name'] OR $_FILES['datei5']['tmp_name']) {  


$conn_id = ftp_connect("SERVER");  
$login_result = ftp_login($conn_id, "USER", "PASSWORD");  
	
	//Hochladen von Dateien
	for($i=1; $i<=5; $i++) {
		if($_FILES['datei'.$i]['tmp_name']) {  
			if (ftp_put($conn_id, "Transfers/".$_FILES['datei'.$i]['name'], $_FILES['datei'.$i]['tmp_name'], FTP_BINARY)) { echo("Erfolgreich"); } else { echo "Fehler"; }  
		}
	}
	
ftp_close($conn_id);
}

?>

<form name="file" enctype="multipart/form-data" action="" method="post">  
<table cellpadding="5" cellspacing="5" class="eintragen">  
<tr><td><b>Datei hochladen:</b></td><td><input type="file" name="datei1" size="30"></td></tr>  
<tr><td><b>Datei hochladen:</b></td><td><input type="file" name="datei2" size="30"></td></tr>  
<tr><td><b>Datei hochladen:</b></td><td><input type="file" name="datei3" size="30"></td></tr>  
<tr><td><b>Datei hochladen:</b></td><td><input type="file" name="datei4" size="30"></td></tr>  
<tr><td><b>Datei hochladen:</b></td><td><input type="file" name="datei5" size="30"></td></tr>  
<tr><td>&nbsp;</td><td><input type="submit" value="Datei hochladen"></td></tr>  
</table>
</form>

Vielleicht seht ihr den Fehler. Achja es komm keine Fehlermeldung sondern, es passiert einfach nichts.

Mit freundlichen Grüßen

Lampux

Content-ID: 158798

Url: https://administrator.de/contentid/158798

Ausgedruckt am: 22.11.2024 um 13:11 Uhr

DennisStuggi
DennisStuggi 17.01.2011 um 12:04:12 Uhr
Goto Top
Hallo Lampux,

in deinem HTML-Code muss im form Tag bei action der Pfad und Name der auszuführenden Datei rein.
Wenn ich das richtig verstanden habe (HTML Code und PHP Code sind in der selben Datei), also der Pfad und Name dieser Datei selbst.
Steht im action Attribut nichts drin, wird auch nichts geschehen, wenn du auf deinen Button drückst.

Ansonsten ist mir aufgefallen, dass du gar nicht abfrägst, ob das Formular abgeschickt wurde.
Du musst deinem Absenden-Button einen Namen zuweisen, zb. senden.
Dann würde ich mittels $_POST['senden'] überprüfen, ob das Formular überhaupt abgeschickt wurde.
Erst dann würde ich den PHP Code ausführen.

Ich hoffe, das bringt dich weiter.

Viele Grüße
Dennis
nxclass
nxclass 17.01.2011 um 13:52:54 Uhr
Goto Top
folgendes solltest Du mal in den Code einfügen
error_reporting(E_ALL);
var_dump($_FILES);
solltest Du bis jetzt noch keine Fehlermeldung bekommen, würde ich mal die FTP Verbindung prüfen, auch auf die Möglichkeit eines TIMEOUT.

Steht im action Attribut nichts drin, wird auch nichts geschehen, wenn du auf deinen Button drückst.
kann ich so nicht bestätigen - dann geht das an die selbe URL / Script
Arano
Arano 17.01.2011 um 21:22:23 Uhr
Goto Top
Guten Abend

Zitat von @nxclass:
> Steht im action Attribut nichts drin, wird auch nichts geschehen, wenn du auf deinen Button drückst.
kann ich so nicht bestätigen - dann geht das an die selbe URL / Script
Kann ich so auch nicht bestätigen aber auch nicht befürworten !

http://www.w3.org/TR/html4/interact/forms.html#h-17.3
  1. Ist das action-Attribut notwendig (required) und
  2. ist das Browserverhalten bei einer anderen Angabe als einer URI __nicht definiert__. (Jeder Browser macht also was er will - nicht was du willst !) (User agent behavior for a value other than an HTTP URI is undefined.)


@Lampux
Wie sieht es denn mittlerweile aus ?
Hast du etwas angezeigt bekommen das dich auf einen Fehler aufmerksam gemacht hat, konntest du es es lösen ?

~Arano