PHP Upload per Ftp

Greeven

Grünschnabel
Hi

Ich habe da ein Problem mit dem fogendem Scrip

PHP:
$conn_ftp = ftp_connect("192.168.100.187",21);

$ftp = ftp_login($conn_ftp,"gast","gast");
if($ftp) echo "Sie sind eingeloggt";
else echo "Zugangsdaten stimmen nicht!";

$upload = ftp_put ($conn_ftp, "$_GET[F1]", "$_GET[F1]", FTP_ASCII);

ftp_quit($conn_ftp);

Wen ich Bei $_GET[F1] und $_GET[F1] ein Datei namen eigebe z.B. test.php geht das ohne Probleme aber wenn ich das durch ein formular sende geht das nicht. Wie so?

Fehler meldung
PHP:
Warning: ftp_put(README.txt) [function.ftp-put]: failed to open stream: No such file or directory in C:\Xampp\xampp\htdocs\bernd\ftp\ftp.php on line 8

in seile 8 Steht
PHP:
$upload = ftp_put ($conn_ftp, "$_GET[F1]", "$_GET[F1]", FTP_ASCII);

MFG Greeven
 
Wenn du mit einem Formular arbeitest, wird die Datei per $_FILE übermittelt.
(Also bei einem Uploadfeld).

Wenns nur Text ist, per $_POST.

Also anstatt $_GET austauschen.
 
Hi

Danke für die schnelle antwort also jetzt Mekert er nicht mehr rum aber hochladen tut er sie immer noch nicht wo dran kan das ligen?

MFG Greeven
 
Formular:

PHP:
<?php
echo "

<html>

<head>
<meta http-equiv=\"Content-Language\" content=\"de\">
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">
<title>Neue Seite 1</title>
</head>

<body>

<p align=\"center\">Upload</p>
<form method=\"get\" enctype=\"multipart/form-data\" action=\"ftp.php\">
	<p align=\"center\">&nbsp;</p>
	<p align=\"center\"><input type=\"file\" name=\"F1\" size=\"20\"></p>
	<p align=\"center\"><input type=\"submit\" value=\"Absenden\" name=\"B1\"><input type=\"reset\" value=\"Zurücksetzen\" name=\"B2\"></p>
</form>
<p align=\"center\">&nbsp;</p>

</body>

</html>
";

?>

FTP.PHP
PHP:
<?php
$conn_ftp = ftp_connect("192.168.100.187",21);

$ftp = ftp_login($conn_ftp,"gast","gast");
if($ftp) echo "Sie sind eingeloggt";
else echo "Zugangsdaten stimmen nicht!";

ftp_put ($conn_ftp, "$_FILE[F1]", "$_FILE[F1]", FTP_ASCII);

ftp_quit($conn_ftp);  
?>
 
Änder es mal so ab:
PHP:
<?php
$conn_ftp = ftp_connect("192.168.100.187",21);

$ftp = ftp_login($conn_ftp,"gast","gast");
if($ftp) echo "Sie sind eingeloggt";
else echo "Zugangsdaten stimmen nicht!";

ftp_put ($conn_ftp, "$_FILE[F1][tmp_name]", "$_FILE[F1][name]", FTP_ASCII);

ftp_quit($conn_ftp);  
?>

Alternativ erst mit move_uploaded_file (?) die Datei in ein Temp-Verzeichnis verschieben und dann per FTP hochladen.
 
Zuletzt bearbeitet:
Hi

Ich habe das jetzt so gemacht:

PHP:
<?php

$conn_ftp = ftp_connect("192.168.100.187",21);

$ftp = ftp_login($conn_ftp,"gast","gast");
if($ftp) echo "Sie sind eingeloggt";
else echo "Zugangsdaten stimmen nicht!";

ftp_put ($conn_ftp, "$_FILE[F1][tmp_name]", "$_FILE[F1][name]", FTP_ASCII);

ftp_quit($conn_ftp);  
?>

Dan mekert er wider rum mit

PHP:
Warning: ftp_put([name]) [function.ftp-put]: failed to open stream: No such file or directory in C:\Xampp\xampp\htdocs\bernd\ftp\ftp.php on line 9

was kann ich jetzt noch mache? :-(
 
PHP:
<?php

$conn_ftp = ftp_connect("192.168.100.187",21);

$ftp = ftp_login($conn_ftp,"gast","gast");
if($ftp) echo "Sie sind eingeloggt";
else echo "Zugangsdaten stimmen nicht!";

ftp_put ($conn_ftp, $_FILES['F1']['tmp_name'], $_FILES['F1']['name'], FTP_ASCII);

ftp_quit($conn_ftp);  
?>

Die Variable heißt $_FILES (siehe auch hier).
Weiterhin muss man PHP Variablen nicht mit Anführungszeichen maskieren.
 
Hi

Auch das funcunirt nicht ;-(

PHP:
$conn_ftp = ftp_connect("192.168.100.187",21);

$ftp = ftp_login($conn_ftp,"gast","gast");
if($ftp) echo "Sie sind eingeloggt";
else echo "Zugangsdaten stimmen nicht!";

$ftp = ftp_put ($conn_ftp, $_FILES['F1']['tmp_name'], $_FILES['F1']['name'], FTP_ASCII); 
ftp_quit($conn_ftp);

Fehler meldung keine ;-(

Ich weis echt nicht mehr weiter ;-(
 
Hi

Kann das sein das $_FILES wegen irgend ein grund LEER ist?

Weil ich habe mal das so gemacht
PHP:
if(isset($_FILES['F1']['tmp_name'])) {
        echo $_FILES['F1']['tmp_name'];
    } else {
        echo "Variable hat keinen Wert.";
    }

dan gib mit der Browser "Variable hat keinen Wert." zurück wen ja wodran kan das ligen?
 
Zurück