Zum Inhalt springen

Upload via ftp Probleme!


Empfohlene Beiträge

Hallo ich bins mal wieder mit meinen Upload Problemen ! Also ich hab ein Upload script, dieses funktioniert etwas verändert lokal ohne Probleme ! Das heisst wenn ichs lokal ausführe und eine datei auf den webserver hochlade funktioniert das einwandfei mit 10 mb dateien. Doch sobald ich das Script umschreibe das es über den webbrowser funktionieren soll bekomme ich Probleme.

Er erstellt mir zwar die zieldatei aber diese ist ein 0 byte Datei. Ich find den Fehler nicht. Vielleicht kann mir einer von euch helfen:

Das lokal funktionierende Script:

<?php

$tmp_name = "test.pdf";
$dateiname = $tmp_name ;

$ftp_server ="123.123.123.123";
$ftp_verz ="./test/";
$ftp_user_name ="guest";
$ftp_user_pass ="guest123";



$conn_id = ftp_connect("$ftp_server");

$login_result = ftp_login($conn_id, "$ftp_user_name", "$ftp_user_pass");

ftp_chdir ($conn_id , $ftp_verz);

if ((!$conn_id) || (!$login_result)) {
echo "Ftp-Verbindung nicht hergestellt!";
echo "Verbindung mit $ftp_server als Benutzer $ftp_user_name nicht möglich";
die;
}
else {
echo "Verbunden mit $ftp_server als Benutzer $ftp_user_name";
}


$upload = ftp_put($conn_id, "$dateiname", "$tmp_name" , FTP_BINARY);


if (!$upload) {
echo "Ftp upload war fehlerhaft!";
}
else {
echo "Datei $dateiname auf $ftp_server als $tmp_name geschrieben";
}


ftp_quit($conn_id);
}
?>
[/PHP]

[b]Das Webbasierende Script (fehlerhaft) :[/b]

[PHP]<?php


$ftp_server ="123.123.123.123";
$ftp_port ="21";
$ftp_user_name ="guest";
$ftp_user_pass ="guest123";
$ftp_directory = "./test/";


if (!isset($_POST['Submit'])) {
echo"<form name=\"form1\" enctype=\"multipart/form-data\" method=\"post\" action=\"$PHP_SELF\">";
echo"<p>";
echo"<input type=\"file\" name=\"file\">";
echo"</p>";
echo"<p>";
echo"<input type=\"submit\" name=\"Submit\" value=\"Senden\"> ";
echo"<input name=\"Reset\" type=\"reset\" id=\"Reset\" value=\"Zurücksetzen\">";
echo"</p>";
echo"</form>";


}
else {

$conn_id = ftp_connect ($ftp_server , $ftp_port);
ftp_login ($conn_id, $ftp_username, $ftp_password);
ftp_chdir($conn_id , $ftp_directory);
$upload = ftp_put($conn_id , $_FILES["file"]["name"],$_FILES["file"]["tmp_name"] , FTP_BINARY);
if (!$upload) {
echo "Der Upload der Datei ist fehlgeschlagen!";
} else {
echo "Datei wurde erfolgreich geschrieben.";
}
ftp_quit($conn_id);
}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das script gibt doch auch folgende meldung aus, oder?

---------------------------------------------------------

echo "Datei wurde erfolgreich geschrieben.";

---------------------------------------------------------

also wenn die datei existiert, aber 0 byte groß ist, dann kann es ja eingentlich nur an quelldateizeile hängen.

---------------------------------------------------------

$_FILES["file"]["tmp_name"]

---------------------------------------------------------

aber allerdings müsste das meines wissens und dem text hier zufolge völlig richtig sein.

passiert das denn bei jeder datei?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja bei jeder datei passiert es.

Ich bin dem Problem ein stückchen näher gekommen.

Es ist so das wenn die datei im selben ordner liegt wie das script und ich es dann an einen x beliebigen ort hinladen will funktioniert es. Aber liegt die quelldatei wo anders als da wo das script liegt und ausgeführt wird, dann schreibt er mir ne 0 byte datei die aber den gleichen namen hat wie die quelldatei.

Und das verwirrt mich,da er ja erkennt was ich will und auch die datei findet,aber keine daten mit übernimmt.

Check ich nicht...

Überleg schon das ganze zu verlagern und als blob in ne datenbank zu schreiben :mod:

Link zu diesem Kommentar
Auf anderen Seiten teilen

versuch ma so:


<?php


$ftp_server ="123.123.123.123";
$ftp_port ="21";
$ftp_user_name ="guest";
$ftp_user_pass ="guest123";
$ftp_directory = "./test/";


if (!isset($_POST['Submit'])) {
echo"<form name=\"form1\" enctype=\"multipart/form-data\" method=\"post\" action=\"$PHP_SELF\">";
echo"<p>";
echo"<input type=\"file\" name=\"file\">";
echo"</p>";
echo"<p>";
echo"<input type=\"submit\" name=\"Submit\" value=\"Senden\"> ";
echo"<input name=\"Reset\" type=\"reset\" id=\"Reset\" value=\"Zurücksetzen\">";
echo"</p>";
echo"</form>";


}
else {

$upload_path = get_cfg_var('upload_tmp_dir');

$conn_id = ftp_connect ($ftp_server , $ftp_port);
ftp_login ($conn_id, $ftp_username, $ftp_password);
ftp_chdir($conn_id , $ftp_directory);
$upload = ftp_put($conn_id , $_FILES["file"]["name"],$upload_path .'/'. $_FILES["file"]["tmp_name"] , FTP_BINARY);
if (!$upload) {
echo "Der Upload der Datei ist fehlgeschlagen!";
} else {
echo "Datei wurde erfolgreich geschrieben.";
}
ftp_quit($conn_id);
}
[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...