Es ist theoretisch so möglich wie es mein Vorgänger geschrieben hat, nur wird das ganze sehr sehr sehr ungenau, da das javascript immer wieder den Webserver fragt, wie weit bist Du? In der Traffic Zeit die Dein javascript wieder brauch um im Browser angezeigt zu werden, ist der fileupload ja auch schon weiter.
Dann kommt es auch noch auf die php Funktionen an, die Dein Provider Dir freundlicherweise mal sperrt, damit Du auch ja nichts auf dem Server manipulierst
Ich an Deiner Stelle würde darauf verzichten und lieber die Zeit in Sicherheitsaspekte stecken, sprich das $_FILES[] Array entsprechend auswerten, damit von aussen keine Angriffe in das System möglich sind
Bsp. für einen Bilderupload:
$errorflag = "FALSE";
###################################################################################################
$picture_upload_dir= "../../uploaded_pictures/";
$picture_dir = $serverpath . "uploaded_pictures/";
$tempname = $_FILES['datei']['tmp_name'];
$name = $_FILES['datei']['name'];
$type = $_FILES['datei']['type'];
$size = $_FILES['datei']['size'];
$fileerror = $_FILES['datei']['error'];
$info = getimagesize($tempname);
$breite = $info[0];
$hoehe = $info[1];
###################################################################################################
if (isset ($_POST['upload']) && $_POST['upload'] == "eintragen"){
$date=$_POST['date'];
// Keinen Titel eingeben
if ( $_POST['titel'] == "Titel"){
if (!isset ($error_msg) || $error_msg == "" ){
$error_msg = "Keinen Namen für die Datei angegeben!<br>Bitte geben Sie einen eindeutigen Titel für das Bild ein. Dateiupload abgebrochen!<br>";
}
else {
$error_msg .= "Keinen Namen für die Datei angegeben!<br>Bitte geben Sie einen eindeutigen Titel für das Bild ein. Dateiupload abgebrochen!<br>";
}
$errorflag = "TRUE";
}
else{
$titel=$_POST['titel'];
$kommentar = $_POST['kommentar'];
if ($kommentar == "Bemerkung"){
$kommentar = "";
}
$alternate = $_POST['alternate'];
if($alternate == "alternativer Text"){
$alternate = "";
}
$errorflag = "FALSE";
}
$kommentar=$_POST['kommentar'];
}
else {
$error_msg = "Keine Daten vorhanden!<br>";
$errorflag = "TRUE";
}
############################## Dateititel überprüfen ##############################################
$titel_check = preg_replace("[\s]", "_", $titel);
if ($titel_check == $titel){
$html_to_center .= "Dateititel nicht optimiert<br>";
}
else {
$titel = $titel_check;
$html_to_center .= "Dateititel optimiert! Neuer Titel: " . $titel . "<br>";
}
###################################################################################################
$info = getimagesize($tempname);
$breite = $info[0];
$hoehe = $info[1];
###################################################################################################
//Bildgrösse
if($breite>$max_b || $hoehe>$max_h)
{
if(!isset($error_msg)){
$error_msg = "Das Bild darf maximal ".$max_b."x".$max_h." Pixel groß sein.<br> Dateiupload abgebrochen!<br>";
}
else{
$error_msg .= "Das Bild darf maximal ".$max_b."x".$max_h." Pixel groß sein.<br> Dateiupload abgebrochen!<br>";
}
$errorflag = "TRUE";
}
####### Dateigrösse ###############################################################################
if($size > $_POST['MAX_FILE_SIZE'])
{
if(!isset($error_msg)){
$error_msg = "Achtung: Das Bild ist zu gross! Bitte Dateigrösse ändern auf maximal" . $MAX_FILE_SIZE . " Byte(s)<br>";
}
else{
$error_msg .= "Achtung: Das Bild ist zu gross! Bitte Dateigrösse ändern auf maximal" . $MAX_FILE_SIZE . " Byte(s)<br>Dateiupload abgebrochen!<br>";
}
$errorflag = "TRUE";
}
###################################################################################################
if (!is_dir($picture_upload_dir)){
if(mkdir($picture_upload_dir,0777)) {
$GLOBALS['picture_upload_dir']= $picture_upload_dir;
$html_to_center .= $picture_upload_dir . "wurde erfolgreich eingerichtet!<br>";
}
}
else{
$html_to_center .= "Ordner " . $picture_upload_dir . " bereits vorhanden<br>";
}
##################### Dateityp feststellen ########################################################
#jpeg oder gif?
if($type !="image/pjpeg" && $type!="image/gif" )
{
if(!isset($error_msg)){
$error_msg = "nur gif und jpeg Dateien dürfen hochgeladen werden.<br> Dateiupload abgebrochen!<br>";
}
else{
$error_msg .= "nur gif und jpeg Dateien dürfen hochgeladen werden.<br> Dateiupload abgebrochen!<br>";
}
$errorflag = "TRUE";
}
if ($type == "image/pjpeg"){
$dateisuffix = ".jpg" ;
$html_to_center .= "Dateiendung: " . $dateisuffix . "<br>";
}
elseif($type == "image/gif") {
$dateisuffix = ".gif";
$html_to_center .= "Dateiendung: " . $dateisuffix . "<br>";
}
###################################################################################################
############################# Fehler beim hochladen, Fehler ermitteln ############################
if ($fileerror != 0){
if(!isset($error_msg)){
$error_msg = "Es liegt ein Fehler beim hochladen der Datei vor, folgender Fehler wurde ermittelt.<br>";
}
else{
$error_msg .= "Es liegt ein Fehler beim hochladen der Datei vor, folgender Fehler wurde ermittelt.<br>";
}
switch($fileerror){
case 1:
$error_msg .= "Die hochgeladene Datei überschreitet die von Ihrem Provider für das hochladen festgelegte Größe.<br> ";
$errorflag = "TRUE";
break;
case 2:
$error_msg .= "Die hochgeladene Datei überschreitet die in dem HTML Formular für das hochladen festgelegte Größe.<br> ";
$errorflag = "TRUE";
break;
case 3:
$error_msg .= "Die Datei wurde nur teilweise hochgeladen.<br> ";
$errorflag = "TRUE";
break;
case 4:
$error_msg .= "Es wurde keine Datei hochgeladen.<br> ";
$errorflag = "TRUE";
break;
}
}
if ($errorflag == TRUE){
print $error_msg;
exit;
}
else{
print $hthml_to_center;
}
[/PHP]