|
You last visited: Today at 22:43
Advertisement
Dateiupload auf einen Server
Discussion on Dateiupload auf einen Server within the Technical Support forum part of the Off-Topics category.
04/13/2012, 23:42
|
#1
|
elite*gold: 0
Join Date: Feb 2010
Posts: 3,932
Received Thanks: 1,136
|
Dateiupload auf einen Server
Hallo zusammen,
ich stehe vor der Aufgabe ca. 50GB Daten von meinem Heimanschluss aus an einen Server in Frankfurt zu schicken.
Logischerweise, habe ich mich erstmal mit FileZilla per FTP verbunden und angefangen die erste Datei (~1GB) hochzuladen. Leider brach der Download nach kurzer Zeit ab.
Ich bin dann in die Config gegangen und habe alle Idlezeiten auf 60.000 gestellt.
Als Resultat lief der Upload dann etwa bis 200MB und brach ab.
Da meine Uploadrate (180KB/s) auch nicht so der Bringer ist, würde ich gerne schnellstmöglich anfangen.
Ich dachte mir könnte evtl. jemand erklären wie ich per HTTP was Uploaden kann (wie z.B. bei Uploaded.to), da mir so ein Upload noch nie abgebrochen ist.
mfG Jay
|
|
|
04/14/2012, 02:58
|
#2
|
elite*gold: 74
Join Date: Jul 2010
Posts: 13,408
Received Thanks: 3,943
|
Liegen die Daten als Archiv oder alle einzeln bzw. als Verzeichnis vor ?
Falls es ein Archiv ist könntest du es splitten.
Quote:
Aufbau des Formulars
Damit der Browser eine Datei vom Client zum Server überträgt, benötigen Sie ein <input>-Feld vom Typ file und das Attribut enctype="multipart/form-data" des <form>-Tags. Zusätzlich ist die Übertragungsmethode POST zwingend erforderlich, damit der Datei-Upload fehlerfrei durchgeführt werden kann. Es können sowohl Text- als auch Binärdaten hochgeladen werden.
Code:
<html>
<head>
<title>Dateiupload</title>
</head>
<body>
<p><font face="Arial, Helvetica, sans-serif" size="6">Dateiupload via HTML </font></p>
<form method="post" action="upload.php" enctype="multipart/form-data">
Datei:
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
<input type="file" name="datei" size="40" maxlength="100000">
<input type="submit" name="Submit" value="Senden">
</form>
</body>
</html>
Informationen zur Datei
Bevor wir uns mit dem upload.php-Skript befassen, sollte ich Ihnen noch die Überprüfungsmöglichkeiten des Servers erläutern. Sobald eine Datei an den Server übertragen wird, wird automatisch das globale Array $_FILES erzeugt. In diesem assoziativen Array sind sämtliche Informationen zur Datei gespeichert.
Beispiel – Erfassen der $_FILES-Informationen
Code:
<html>
<head>
<title>Dateiupload</title>
</head>
<body>
<p><font face="Arial, Helvetica, sans-serif" size="6">Dateiupload via HTML </font></p>
<form method="post" action="<? echo $PHP_SELF ?>" enctype="multipart/form-data">
Datei:
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
<input type="file" name="datei" size="40" maxlength="100000">
<input type="submit" name="Submit" value="Senden">
</form>
<?php
// Dateiinformationen (Ausgabe über Schleife)
if (isset($_FILES["datei"])) {
foreach ($_FILES["datei"] as $key=>$element) {
echo "[$key] => $element<br>";
}
}
?>
</body>
</html>
...
[Und dann hier der für dich interessante Teil]
Code:
<?php
// Prüfen des Arrays $_FILES
if (isset($_FILES["datei"])) {
// Upload-Status
if ($_FILES["datei"]["error"] == UPLOAD_ERR_OK) {
// Muster zur Überprüfung der im Dateinamen
// enthaltenen Zeichen (Optional)
$regExp = "/^[a-z_]([a-z0-9_-]*\.?[a-z0-9_-])*\.[a-z]{3,4}$/i";
// Dateiname und Dateigröße
if (preg_match($regExp,$_FILES["datei"]["name"]) && $_FILES["datei"]["size"] > 0 && $_FILES["datei"]["size"] < 100000) {
// Temporäre Datei in das Zielverzeichnis
// des Servers verschieben.
move_uploaded_file($_FILES["datei"]["tmp_name"],"shots/".$_FILES["datei"]["name"]);
// Redirect zur Erfolgsmeldung
header("Location: status.html");
}
else {
echo "Fehler: Im Dateinamen oder Dateigrössen Limit!";
}
}
else {
echo "Fehler: Während der Übertragung aufgetreten!";
}
}
else {
echo "Fehler: Dateiupload fehlgeschlagen!";
}
?>
|
|
|
|
04/14/2012, 10:08
|
#3
|
elite*gold: 0
Join Date: Feb 2010
Posts: 3,932
Received Thanks: 1,136
|
Nein, die Files sind nicht im Archivformat, und ich habe eigentlich kleine Möglichkeit sie auf dem Server wieder zu entpacken.
Ich gucke mir mal den http Uploader an, vielen Dank!
Quote:
|
$element) { echo "[$key] => $element"; } } ?>
|
Dieser String aus der index.html, wird nicht ausgeführt, sondern als Text angezeigt. Woran könnte das liegen?
|
|
|
04/14/2012, 12:35
|
#4
|
elite*gold: 74
Join Date: Jul 2010
Posts: 13,408
Received Thanks: 3,943
|
Verstehe ich das richtig, dort steht jetzt "[$key] => $element" ?
|
|
|
04/14/2012, 15:44
|
#5
|
elite*gold: 0
Join Date: Feb 2010
Posts: 3,932
Received Thanks: 1,136
|
Habs schon selber gefixt 
Danke!
|
|
|
04/15/2012, 17:17
|
#6
|
elite*gold: 0
Join Date: Feb 2010
Posts: 3,932
Received Thanks: 1,136
|
Also, PHP bzw. Upload über Port 80 ist auch nicht das Gelbe vom Ei.
Habe jetzt entdeckt, dass ich die Files ganz einfach über den laufenden Teamspeak3 Server uploaden und dann in das entsprechende Verzeichnis verschieben kann.
Gibt es eine Möglichkeit so einen Uploader, auch ohne Teamspeak zu benutzen?
Also wirklich ein eigener Uploadclient und Server?
|
|
|
All times are GMT +1. The time now is 22:44.
|
|