Ik heb een prima werkend upload script. Nu kan ik hier alleen maar bestanden tot +/- 1,5 mb uploaden. Ik heb het toegestane maximum al op 50 mb gezet (beetje overdreven...). Ik heb het idee dat internet explorer, of de server maar voor een bepaalde tijd iets wil uploaden, ongeacht het toegestane maximum. Weet iemand hoe dat in elkaar zit, en/of daar iets aan te veranderen is? Mensen met een analoge-lijn kunnen anders slechts iets van 50 kb uploaden ofzo :S...

Alvast bedankt,

DJ

SCRIPT:
----------------------------------------------------

<?php

$site_name = $_SERVER['HTTP_HOST'];
$url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
$url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

$upload_dir = "files/";
$upload_url = $url_dir."/files/";
$message ="";

if (!is_dir("files")) {
die ("files directory doesn't exist");
}

if ($_FILES['userfile']) {
$message = do_upload($upload_dir, $upload_url);
}
else {
$message = "";
}

print $message;

function do_upload($upload_dir, $upload_url) {

$temp_name = $_FILES['userfile']['tmp_name'];
$file_name = $_FILES['userfile']['name'];
$file_type = $_FILES['userfile']['type'];
$file_size = $_FILES['userfile']['size'];
$result = $_FILES['userfile']['error'];
$file_url = $upload_url.$file_name;
$file_path = $upload_dir.$file_name;

if ( $file_name =="") {
$message = "<p>Er is een ongeldige naam opgegeven</p>";
return $message;
}
else if ( $file_size > 50000000) {
$message = "<p>Het bestand is te groot.</p>";
return $message;
}

$result = move_uploaded_file($temp_name, $file_path);
$message = ($result)?"<p><b>Het bestand is succesvol geupload</b></p>" :
"<p><b>Er is iets fout gegaan. Probeer het opnieuw.</b></p>";

return $message;
}
?>
<br><form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post">
<p><table border="0" width="100%" bgcolor="#FFFF99"><tr><td><b>Bestand:</b></td><td>
<tr><td><input type="file" id="userfile" name="userfile" size="50"></td>
<td><input type="submit" name="upload" value="Upload"></td></tr></table>
<input type="hidden" name="MAX_FILE_SIZE" value="51200000000"></form>
De runtime van een php script is beperkt tot 30 seconden meestal, daar kan het aan liggen.
dat valt te veranderen in je php.ini in de windows map, als je linux hebt weet ik niet waar die staat:s

en als je host heb bij een bedrijf moet je fftjes een mailtje sturen naar dat bedrijf
Jepz zoek naar:
max_execution_time = 30 ; Maximum execution time of each script, in seconds
memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)
ik zou sowieso geen grote bestanden op die manier versturen, aangezien mensen niet zien hoever ze zijn met versturen is de kans groot dat ze hem na een tijdje afbreken
Zeggen dat ze één keer mogen klikken (of button disabelen na het klikken >> JavaScript) en de mensen wijzen op de voortgangsindicator onderin de browser...

Elwin
Ok! Met deze informatie kan ik wat, alvast bedankt!
Daarnaast is het PHP totaal niet geschikt voor bestanden groter dan 2 mb. Als het goed is staat het ook ergens in .ini files van php.

Je zult dus met ftp moeten gaan werken
En daar weet ik weer het één en ander over, over ftp connecties maken en bestandjes uploaden etc. Maar daar heb je denk ik nog niks aan omdat het niet via php kan :/ aj.. dilemma
Daarnaast is het PHP totaal niet geschikt voor bestanden groter dan 2 mb. Als het goed is staat het ook ergens in .ini files van php.

De maximale grootte staat default op 2MB, er staat verder niet dat het slecht is voor PHP. Je kan het dus gewoon naar 10 MB veranderen als je wilt... De vraag is alleen of het slim is om te grote bestanden te doen...

(Zie het bericht van Rick en mijn reply daarop)

Nog even voor de TS: Als je bestanden groter dan 2MB wilt doen zal je ook even moeten zoeken naar de volgende regel in je php.ini:
; Maximum allowed size for uploaded files.
upload_max_filesize = 2M

Daarin kan je 2M verhogen naar 5M, voor het toestaan van bestanden van 5 MB.

Elwin
Dan wordt het een kwestie van subtiel uploaden, en niet de upgeloade files gaan lopen pompen naar het ram :)

Reageren