Top-Themen

Aktuelle Themen (A bis Z)

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

Dateigröße für den Upload ermitteln...

Mitglied: 35801

35801 (Level 1)

05.12.2007, aktualisiert 07.12.2007, 7247 Aufrufe, 4 Kommentare

Ich möchte die Dateigröße vom Upload erlitteln und per Java-Script einen Countdown laufen zu lassen...


DANKE FÜR EURE HILFE!!!



Scritp:
<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">

<style type="text/css">
<!--
textarea {
border: 0px;
background-color: White;
color: White;
overflow: hidden;
}

h1, h3{
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
}

body{
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
padding: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
margin-left: 0px;
}

a, a:active, a:focus, a:link, a:visited {
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-weight: bold;
font-style: normal;
font-size: 10pt;
text-decoration: none;
color: #990000;
}
-->
</style>

<?PHP
Check auf Projekt-Daten
if($pd == ""){
$upl = "faild";
}

if ($_FILES['userfile']['size'] > 100000000){
$error .= 'Die max. erlaubte Dateigröße ist 95MB<br>';
}

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

<script type="text/javascript">
<!--
function send()
{
<?PHP
if($upl == ""){
echo "document.test.submit();";
}
?>
window.setTimeout("send();",100);
}

function countdown()
{
<?PHP
$MB = $_FILES['userfile']['size'] / 1024 / 1024;
$UPLZEIT = round($MB * $z, 0);
?>
var zeit;
zeit = <?PHP echo $UPLZEIT; ?>;
alert ("text <?PHP echo $MB; ?>");
<?PHP
if($MB > 0){
echo 'document.infoform.infotext.value = ("Verbleibende Zeit: " + zeit.toString);';
}
?>
if($zeit < 1){
zeit = "Verschiebe Daten in das Projektverzeichnis und führe Viren-Test druch. BITTE WARTEN!;
}
else{
zeit--;
}
window.setTimeout("countdown();",1000);
}

function startall()
{
send();
countdown();
}
-->
</script>

</head>

<?PHP

echo '<body bgcolor="#ffff99" text="#000000" link="#990000" vlink="#990000" alink="#990000" onLoad="startall();">';
echo '<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">';

echo '<font faca="Verdana, Arial">';
echo '<div align="center">';

echo '<table bgcolor="#ffffff" width="800" height="100%" cellspacing="0" cellpadding="0" style="margin: 0px 0px 0px 0px; padding: 0px;">';
echo '<tr style="margin: 0px 0px 0px 0px; padding: 0px;" cellspacing="0" cellpadding="0">';
echo '<td style="margin: 0px 0px 0px 0px; padding: 0px;" cellspacing="0" cellpadding="0" height="60" valign="top">';

echo '<img src="popup.gif"><br><br>';

echo '</td></tr><tr><td valign="top">';
echo '<div align="left" style="margin: 5px 5px 5px 5px; padding: 5px;">';

if($upl == ""){
echo '<h1>Speed-Test läuft...</h1><br>';
echo '<h3>Bitte warten!!!</h3>';
echo 'Dies kann einige Zeit in Anspruch nehmen und ist zur Überprüfung der Funktionalität Ihres Browsers ';
echo 'und Ihrer Verbingung von nöten.<br>';
echo 'Hierbei werden automatisch generierte Testdaten an unseren Server übertragen.<br>';
echo 'Sollten Sie aufgefordert werden, die Datenübertragung zu erlauben, so Bestätigen Sie das bitte!<br><br>';
echo '<img src="uploading3.gif">';
echo '<form name="test" method="post" action="index.php?upl=test_ok&pd='.$pd.'">';
echo '<textarea readonly class="unsichtbar" name="test" cols="17" rows="2">SENDING TESTDATA... '."\n";
$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 '</form>';
}
elseif($upl == "test_ok") {
echo '<h1>Speed-Test beendet!</h1><br><br>';

echo "<pre>".$test.'</pre><br>';
$endzeit = microtime_float();
$ZEIT = $endzeit - $startzeit;
$ZEIT = $ZEIT * 1.15;
$ZEIT = round($ZEIT, 2);
echo "1MB braucht ".$ZEIT." sek.<br>";
$KBS = 1024 / $ZEIT;
$KBS = round($KBS, 2);
echo "Ihre Verbindungsgeschwindigkeit: ".$KBS." KB/s<br>";
$KBiS = $KBS * 8;
$KBiS = round($KBiS, 0);
echo "Ihre Verbindungsgeschwindigkeit: ".$KBiS." kBit/s<br><br>";
echo 'Daten für das Projekt pd_'.$pd.' hinzufügen:<br><br>';
$z = $ZEIT;

include("uploadform.inc");
}
elseif($upl == "send"){
$uploaddir = "daten/".$pd."/";
$uploaded_file = $uploaddir . $_FILES['userfile']['name'];
if (file_exists($uploaddir))
{
Alles klar
}
else{
if ( mkdir ($uploaddir, 0777 ) )
{
Alles klar
}
else{
$error .= "Verzeichniss konnte nicht erstellt werden!<br>";
}
}

if($error == ""){
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaded_file)) {
echo 'Daten für das Projekt pd_'.$pd.' hinzufügen:<br><br>';
include("uploadform.inc");

$MB = $_FILES['userfile']['size'] / 1024 / 1024;
$UPLZEIT = round($MB * $z, 0);
echo "<br><br>Upload läuft:<br>Voraussichtlich werden ".$UPLZEIT." Sek. benötigt...";

echo 'Bereits vorhandene Daten:<br><br>';

if($dir=opendir($uploaddir)){
while($file=readdir($dir)){
if (!is_dir($file) && $file != "." && $file != ".."){
$tmpFILE = $uploaddir . $file;
$groesse = filesize($tmpFILE);
$groesse = round($groesse / 1024 / 1024, 2);
echo $file." (".$groesse." MB)<br>";
}
}
closedir($dir);
}
}
}
else{
echo $error;
}
}
else{
echo '<font color="#990000">Der Upload von Daten ist leider nicht direkt möglich!</font><br>';
echo 'Bitte verwenden Sie zum Aufruf dieser Seite den entsprechenden Link auf ';
echo '<a href="http://www.powerdruck.com;><font" color="#000000">www.powerdruck.com</font></a><br>';
}

echo '</div>';
echo '</td></tr></table>';

echo '</div>';
echo '</font>';



?>

</body>

</html>
Mitglied: Arano
06.12.2007 um 20:05 Uhr
Hallo Diaz

Ich möchte die Dateigröße vom Upload erlitteln und per Java-Script einen Countdown laufen zu lassen...
Okay, aber da du $_FILES['name']['size'] schon kennst frage ich mich was möchtest du von uns !?
$_FILES['name']['size'] soll übrigens manipulativ sein, von daher sollte man z.B. mit filesize() die wahre Größe nochmal überprüfen.

Vieleicht geht es nur mir so, aber ich habe probleme dein gepostetes Script zu verstehen. Daher bin ich auch ratlos was du genau möchtest !?

Was mir allerdings beim lesen aufviel:
01.
<?php 
02.
  function microtime_float(){ 
03.
          list($usec, $sec) = explode(" ", microtime()); 
04.
          return ((float)$usec + (float)$sec); 
05.
06.
?>
Mit microtime(TRUE) erreichst du das selbe..... oh, ich sehe gerade das das erst ab PHP5 möglich ist.
Support for PHP 4 will be discontinued at 2007-12-31. Please consider upgrading to PHP 5.2.

01.
<?php 
02.
  $UPLZEIT = round($MB * $z, 0); 
03.
?>
Da frage ich mich doch gleich, was ist $z ? Das wird erst später im Script definiert, ist vorher also eigentlich noch nicht verfügbar.

Vieleicht medest du dich noch mal dazu.
Evtl. hift es auch das obere Script in einen PHP-Codeblock zu setzen.

Gruß Arano
Bitte warten ..
Mitglied: 35801
06.12.2007 um 21:28 Uhr
Danke für deine Tipps.

ABER...

1) Ich brauche die $_FILES['name']['size'] in dem Moment wo ich den absende Button drücke um den Java-Countdown zu starten und nicht erst wenn das Script ausgeführt ist.

2) Die $z wird in der .inc-Datei initialisiert.


LG,
Peter
Bitte warten ..
Mitglied: Arano
06.12.2007 um 21:56 Uhr
juhuuu....

zu 1. Ist richtig so, ich wollte das auch mehr als Hinweis übermitteln, entschuldige bitte wenn das falsch rüberkam.

zu 2. Vieleicht übersehe ich was, aber auch der Include kommt erst später im Script !?

zu Algemein: Was funktioniert denn nicht ? Es fehlt immer noch eine Beschreibung des Problmen oder des Fehlers.

~Arano
Bitte warten ..
Mitglied: 35801
07.12.2007 um 00:04 Uhr
Ich bekomm die nette Varible mit der Dateigröße erst NACH!!! fertigem Upload...

Und dann beginnt der Countdown....

zB: 65MB = 15 Min. warten und dann Countdown von 15 Min. rückwärts...
Bitte warten ..
Ähnliche Inhalte
Mac OS X

Finale Dateigröße ohne Entpacken ermitteln

gelöst Frage von pelzfruchtMac OS X3 Kommentare

Moin, ich hab hier ein 27,1 GB großes *.bz2 Archiv. Das Problem: Wenn ich das Archiv entpacke könnte mich ...

Server

Webdav maximale Dateigröße des Uploads - Fehler "Der Netzwerkname ist nicht mehr verfügbar"

Frage von MeinGottWalterServer7 Kommentare

Hallo zusammen, nach der nach Abklappern aller möglichen Fehler und Fehlerchen doch sehr erfolgreichen Inbetriebnahme unseres IIS 7.5 zum ...

Batch & Shell

Dateigröße und Änderungsdatum auslesen

Frage von michi-ffmBatch & Shell6 Kommentare

Hallo zusammen, ich habe folgendes Problem, vielleicht kann mir einer ja weiterhelfen. :) Dieses Skript funktioniert schon einmal wunderbar, ...

Festplatten, SSD, Raid

Speicherverbrauch ermitteln

Frage von YannoschFestplatten, SSD, Raid8 Kommentare

Hallo zusammen, habe einen 2k8R2 hier mit einer D Part von 724 GB frei sind nurnoch knapp 70 GB ...

Neue Wissensbeiträge
Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 1 TagWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 1 TagSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 1 TagMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 1 TagHardware12 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

Heiß diskutierte Inhalte
C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++27 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux27 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless22 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL19 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...