Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Bei onLoad Formular absenden...

Frage Entwicklung JavaScript

Mitglied: 35801

35801 (Level 1)

02.12.2007, aktualisiert 04.12.2007, 5079 Aufrufe, 2 Kommentare

Folgendes Problem...

Ich bastle gerade einen File-Upload und möchte die ungefähre Upload-Zeit abschätzen...

Das einzige Probelm ist, dass ganze Ding MUSS ohne AJAX, PHP5 oder sonstigen Patches und Erweiterungen auskommen.

Ich habe folgesndes Script gebastelt...

Ziel der Übung:
Sobald ie Datei geladen ist soll das Formular gesendet werden.

Dabei wird Absende-Zeit und Ankunfts-Zeit gespeicher und die Differenz errechnet.

Dann kann ich den Leuten zumindes sagen...

1MB hat 6 sek. gebraucht und du willst 67 MB uploaden das dauert XYZ Sekunden Meister...

Das Script sendet das Forular nur nicht autom. ab...

Ich glaub der Fehler liegt im Java-Script... ABER WO???



SCRIPT:
<html>

<head>
<title>speed</title>
<meta http-equiv="expires" content="0">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">

<?PHP
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
?>

<script type="text/javascript">
<!--
function send()
{
document.form.submit();
}
-->
</script>

</head>

<?PHP

echo '<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red" onLoad="send();">';

if($upl == ""){
echo '<form name="test" method="post" action="speedtest.php?upl=test">';
echo '<textarea name="test" cols="1" rows="1">';
$j=0;
for ($i = 0; $i < 1024*1024; $i++){
$j++;
echo $j;
if($j > 8){ $j = 0; }
}
echo '</textarea>'."\n";
echo '<input type="hidden" value="'.microtime_float().'" name="startzeit">';
echo '<input type="submit" value="weiter...">';
}
else{
echo $test;
}

?>

</body>

</html>
Mitglied: Arano
04.12.2007 um 17:34 Uhr
Moin diaz

Deine send()-Funktion ist falsch, schau dir mal http://de.selfhtml.org/javascript/objekte/forms.htm an.

Was mich noch interessieren würde, woher willst du wissen wie Groß die Datei wirklich ist ?
Ich weiss von PHP her das ich dort die Dateigröße erst ermitteln kann wen sie komplett hochgeladen ist, aber dann ist der Upload bereits abgeschlossen und alles was ich ausgeben könnte währe: "noch 0 Sekuden".
Wie löst du das Problem bei dir ?

Gruß Arano
Bitte warten ..
Mitglied: 35801
04.12.2007 um 18:19 Uhr
Ganz einfach....

Ich mach mit einem 1MB-Testdaten-Formular eine Zeitmessung und rechne dann hoch:
1MB ... 13,5 Sek => 10MB ... 135 Sek.

Dann lass ich einen Countdown laufen von 135 Sek. auf 0 und dann geb ich die Meldung aus:
Verschiebe Daten in das Projektverzeichnis und führe Datenprüfung durch. Bitte warten...

Wichtig ich Rechne zur Zestzeit noch XX% dazu um sicherzugehen...

Je nach Tests am Server...

Mein Problem ist, dass die Kunden viele mit Mac / Linux zugreifen und ich mit AJAX (Java) einen 20-Fronten-Krieg anfange und das kann ich mir nicht leisten bei ca. 3,5MB Projektgröße (rein PHP/HTML-Quelltext)


Danke für deinen Tipp!

War schon spät und ich hab's nicht mehr gesehen, dass ich
document.test.submit();
hätte schreiben sollen...

Hab den Fehler aber mittlerweile schon gefunden gehabt...
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Microsoft Office
Formular Autofill - Infopath (1)

Frage von TlBERlUS zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (22)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...