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

Frage Entwicklung PHP

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

Mitglied: 35801

35801 (Level 1)

05.12.2007, aktualisiert 07.12.2007, 7228 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, ...

PHP
Upload Textdatei auf Webserver - Nur die Erste Zeile uploaden?
gelöst Frage von eisbeinPHP6 Kommentare

Hallo! Ich versuche mich gerade an DATANORM. Das sind (genormte) Textdateien, wobei in der Ersten Zeile die von mir ...

Neue Wissensbeiträge
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 5 StundenRouter & Routing2 Kommentare

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 12 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 17 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement22 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...

Sonstige Systeme
7-zip: Programm frägt nach Passwort erst bei einzelnen Dateien
Frage von freeskierchrisSonstige Systeme7 Kommentare

Guten Morgen, ich habe ein Problem beim Arbeiten mit 7-zip: Wenn ich die einzelnen Dateien zu einem Archiv verpacke ...