Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Upload via ftp Probleme!

Empfohlene Antworten

Veröffentlicht

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);
}

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?

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:

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]

Werd ich mal probieren... thx

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.