Uploadanimation

  • Themenstarter Themenstarter GreenThunder
  • Beginndatum Beginndatum
G

GreenThunder

Hallo,

ich hab mir ein kleines Uploadscript zusammengebaut um mal schnell ein paar Dateien von hier nach da zu bekommen.
Leider kann man bisher noch nicht so wirklich erkennen ob der Upload nun gestartet wurde oder nicht.
Daher wollte ich einen Ladebalken einbauen, doch nach kurzer Googlesuche musste ich feststellen, dass das wohl nichts wird. Also dachte ich mir, dass wenigstens eine Animation (gif) eingeblendet werden sollte, bis die Datei fertig hochgeladen wurde.
Leider weiß ich nicht, wie ich das in meinem Script verwirklichen kann.
Kann mir jemand bitte helfen?

Upload.php:
PHP:
...
<body>
<div class="body">
<table>
  <tr>
      <th colspan="2">... <br /><p style="font-size:12px">- Hochladen -</p></th>
  </tr>
   <tr><td  colspan="2" class="kopf">Hochladen:</td></tr>
  <tr><td  colspan="2">
<form action="uploadsent.php" enctype="multipart/form-data" method="post">
<input type="radio" name="ordner" value="User1">User1
<input type="radio" name="ordner" value="User2">User2
<input type="radio" name="ordner" value="User3" >User3
<input type="radio" name="ordner" value="Semipublic" >Semipublic
<input type="radio" name="ordner" value="Uni" >Uni
<input type="radio" name="ordner" value="Public" checked>Public<br /><br />
<input name="Datei" type="file" class="Button"><br>
<input name="Send" type="submit" class="Button"  value="Upload">
<br>
</form></td></tr>
  <tr><td colspan="2"><hr /></td></tr>
 <tr><td  colspan="2" class="kopf">Herunterladen:</td></tr>
 <tr><td >&nbsp;</td><td><a href="...">&Ouml;ffentliche Dateien</a> </td></tr>
  <tr><td>&nbsp;</td><td><a href="...">Private Dateien</a> </td></tr>
</table>
</div>
</body>
</html>

Uploadsent.php:
PHP:
<?php

	if($_FILES['Datei']['tmp_name'])
	{
		echo"&quot;",
			$_FILES['Datei']['name'],
			"&quot; ( Dateigr&ouml;&szlig;e:  ",
			$_FILES['Datei']['size'],
			")<br /><a href='index.php'>zur&uuml;ck</a>";
		move_uploaded_file($_FILES['Datei']['tmp_name'],$ordner."/".$_FILES['Datei']['name']);
	}
	else
	{
		echo"Bitte geben Sie eine Datei an!";
	}
        ?>
 
mit PHP wird das nicht so einfach Funktionieren. Du kannst meines wissens nicht feststellen ob der Upload abgeschlossen wurde. Allerdings kannst du der Uploadsent.php ein solches Bild hinzufügen, dann siehst du ob der Upload gestartet wurde.
 
Und wie geht das mit Ajax?
Ich habe auch eine Lösung gefunden mit UploadProgressManager sehe hier -> http://www.devpro.it/upload_progress/.
Es werden jeder secunde angezeigt wie weit der Upload ist, nur man kann ja nich der Upload ende herausfinden. Also wenn eine richtig große Datei upgeloadet wird (über 200 MB), was in meine Fall ist,dann beim copieren wird einfach die letzte Meldung angezeigt,und das kann ja dauern.

Grüß aus Essen

pesoi
 
Vielleicht ne ganz blöde Frage meinerseits zu dem Thema...du lädst 200mb über ein php uploadscript hoch? müsste da nicht sowieso ein Timeout vom Server her kommen?
 
Ein Timeout mag ja kommen von Server aber ich habe die volle zugrief auf http.conf und kann das alles ändern. Ich habe sogar eine Upload von 1 GB erlaubt.
Oder mach ich irgend eine Denkfehler ?
 
hm ja ok wenn du die scriptlaufzeit und uploadgrösse erhöhen kannst dann geht des mit 200mb. hm weis nich mehr wie des genau mit ajax war jedenfalls hab ich des mal gesehen .. glaub bei rigo.com haben die sowas wenn ich mich nich irre... denkmal da wirt immer eine php funktion auf gerufen die die hochgeladene datei checkt un die grösse ausgibt. das kann man ja dann mit der waren dateigrösse verrechnen über js und damit dann dynamisch eine tabelle nach und nach breiter werden lassen .. schon hast du deinen ladebalken.. des is dann ohne reload weil ja über ajax die aufrufe des php scriptes immer im hintergrund ablaufen ...
 
Zurück