Avatar billede martinbk Nybegynder
14. januar 2004 - 02:43 Der er 3 kommentarer og
1 løsning

upload, får script execution timeout

hejsa, jeg har bikset et upload script sammen, mit problem ligger nu i jeg ikke kan uploade i mere end 30 sekunder, så giver php mig en timeout... og ja set_time_limit(0); ER forsøgt

her min kode:

<?
function sizeConvert($filesize){
    $sizetitles = array('Bytes', 'KiloByte', 'MegaByte', 'GigaByte', 'TeraByte');
    $tmpcount = 0;
    while($filesize >= 1024 && $tmpcount < count($sizetitles)) {
        $filesize /= 1024;
        $tmpcount++;
    }
    return sprintf('%0.2f', $filesize) . ' ' . $sizetitles[$tmpcount];
}



$path = 'E:/web/uploads/';
$allowedtypes = array("image/pjpeg", "image/jpeg", "image/bmp", "image/tiff", "image/png", "image/gif", "application/pdf");
$maxsize = 10240; // max størrelse i KiloBytes

if(isset($_POST['submit'])) {
  set_time_limit(0);
  $filetype = $_FILES['file']['type'];
  $size = $_FILES['file']['size'];
  $size = $size / 1024;
  $file = $_FILES['file']['name'];
  if(!in_array($filetype, $allowedtypes)) {
    echo 'Filtypen <b>'.$filetype.'</b> er ikke tilladt.<br><br> De tilladte filtyper er:<br> '. implode("<br>", $allowedtypes) .'.<br><br> Filen <b>'.$_FILES['file']['name'].'</b> kunne derfor ikke uploades!';
    exit();
  }
  else if($size > $maxsize) {
    echo 'Filen <b>'.$file.'</b> er større end den tillade filstørrelse.<br>Filer må ikke fylde over <b>'.$maxsize.'</b> KiloByte';
    exit();
  }
  else if(file_exists($path.$file)) {
    echo 'Filen <b>'.$file.'</b> eksistere allerede, omdøb venligst din fil og prøv igen';
    exit();
  }
  else {
    move_uploaded_file($_FILES['file']['tmp_name'],$path.'/'.$_FILES['file']['name']);
    chmod($path.'/'.$_FILES['file']['name'],0644);
    header("location: display.php");
  }
}
else {
  $free = sizeConvert(disk_free_space($path));
  $form = '<form enctype="multipart/form-data" action="'.$_SERVER['PHP_SELF'].'" method="post">
  <input type="file" name="file"><br>
  <input type="submit" name="submit" value="Upload">
  </form><br><br>Der er i øjeblikket <b>'.$free.'</b> til rådighed for uploads';
  echo $form;
}
?>


hele herligheden kører på en windows med Apache 2.0.48 og PHP 4.3.4
Avatar billede fcknet Nybegynder
14. januar 2004 - 07:55 #1
Prøv at rette "execution_time" og den værdi lige nedenunder til noget andet.... Altså i PHP.INI
Avatar billede tefcke Nybegynder
14. januar 2004 - 20:11 #2
i toppen af det script som har for lang udførelses tid
ini_set('max_execution_time', 0);
eller
set_time_limit (0)
Avatar billede tefcke Nybegynder
14. januar 2004 - 20:13 #3
tefcke >> læs hele spørgsmålet ;)

Prøv med: ini_set('max_execution_time', 0);
Den skulle kunne sættes af alle (PHP_INI_ALL).
Hvis det er din egen server, kan du sætte værdien manuelt i din php.ini til 0 (som fcknet også skriver)
Avatar billede martinbk Nybegynder
08. april 2004 - 15:01 #4
må godt nok erkender jeg opgav projektet :-(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester