ftp upload will nicht

quidnovi

Erfahrenes Mitglied
grüße...

oiso, erhalte von einem script die folgenden daten:
diese daten werden von bestaetigung.php an fileUpload.php übermittelt.
gebe die unten stehenden daten mit :
PHP:
echo nl2br(print_r($_SESSION,true));
echo nl2br(print_r($_POST,true));
aus.
Code:
Array
(
[id] => 1
[kundennummer] => 1006
[firmenname] => Name
)
Array
(
[auftrag] => Auftrag
[datei] => X3000004.cdr
[dateiTmp] => W:\\xampp\\tmp\\php185.tmp
[speichern] => Auftrag fortsetzen
)

mit folgendem script, versuche ich die ausgewählte datei auf einen server zu stellen:
quellcode fileUpload.php
PHP:
        $ftp_server = "ftp.server";
	$ftp_user = "user";
	$ftp_pass = "password";
	$auftrag = $_POST['auftrag'];
	$postfix = substr($_POST['datei'], -4);

	// ueberfluessige Slashes entfernen
	$arr = array("\\\\"=>"\\");
	$_POST['dateiTmp'] = trim(strtr($_POST['dateiTmp'],$arr));

	if(isset($_POST['datei']) && isset($_POST['speichern'])){
		$conn_id = ftp_connect("$ftp_server");
		$login_result = ftp_login($conn_id, "$ftp_user", "$ftp_pass");
		if (!isset($login_result)){
			echo "nix conneted";
		}
		else{
			echo "connected<p />";
		}

		$destination = '/'.$_SESSION['firmenname'].'/' .$auftrag.$postfix;
		$upload = ftp_put($conn_id,$destination,$_POST['dateiTmp'],FTP_BINARY);

		if(!$upload){
			echo 'scheiss';
		}
		else{
			echo 'g't';
		}
		// close FTP
		ftp_close($conn_id);
	}

so, ich erhalte folgende fehlermeldung:
Code:
Warning: ftp_put(W:\xampp\tmp\php185.tmp) [function.ftp-put]: failed to open stream: No such file or directory in W:\...\fileUpload.php on line 37

nun habe ich dies im testbetrieb schon ausgeführt, mit erfolg.

der unterschied zwischen bestaetigung.php und uploadFile.php ist, dass ich im testbetrieb von test.php auf test2.php, die daten mit $_FILE auslese.

der grund für die unterschiedliche ausführung liegt bei einem bestätigungsscript.
in diesem script werden die daten - auch die hochzuladende datei, dem user zur kontrolle und etwaigen abänderungen, zu ansicht geboten wird. wenn alles ok ist, dann betätigt der user einen submit button, mit welchen die uploadFile.php angesteuert wird.

hier erhalte ich auch alle informationen, wie oben ersichtlich.

die fehlermeldung sagt mir, dass die datei im tmp ordner nicht gefunden wird.
habe mir schon die augen ausgesucht, finde den fehler aber nicht.

ich würde euch bitten mir die augen weiter zu öffnen...danke
 
... und bitte auch den Punkt 15 unserer Netiquette, denn durchgängig kleingeschriebene Forenbeiträge sind nicht erwünscht. Vielen Dank! :)

mfg Maik
 
$_POST ist hier die falsche Superglobale.

Schau dir mal $_FILES an.
Ja danke, das habe ich bereits verwendet.

Der springende Punkt ist, dass das hochzuladende, ausgewählte File in einem weiteren Script, gemeinsam mit anderen, vom User angegebenen Einträgen, zur nochmaligen Kontrolle und etwaigem editieren ausgegeben wird, bevor es dann auf den Server gestellt wird.

Ich weiß leider keinen Weg, wie ich das Array $_FILE weiterreichen kann.


... und bitte auch den Punkt 15 unserer Netiquette, denn durchgängig kleingeschriebene Forenbeiträge sind nicht erwünscht. Vielen Dank! :)

mfg Maik
:-(....sorry....
 
Ich würde es, wenn sich das zweite Skript gar nicht in das erste einbinden lässt, in einen Ordner zwischenspeichern und den neuen Pfad dann per Session überreichen.
 
Danke, das wäre natürlich auch eine Möglichkeit.

Ich habe nun das Script umgebaut. Habe die Kontrollseite, bzgl. dem uploadfile gestrichen.
Somit kann ich mit $_FILES die Datei ohne Probleme auf den Server stellen.


Danke nochmal für Deine Hilfestellung.
 
Zurück