Toon posts:

[php} upload script voor betsanden groter dan 2 mb

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Allereerst wil ik even duidelijk stellen dat ik me rot gezocht heb op het internet en op GOT. Ik heb veel gevonden, alleen niet de oplossing.

Hieronder mijn probleem. Ik heb een php script waarmee ik bestanden groter dan 2 mb wil uploaden, probleem is het lukt niet. Betsanden onder de 2 mb prima, maar daarboven lukt het niet.

Hieronder mijn code:
Van het form, zoals je kunt zien zou de maximale upload waarde 10 mb moeten zijn.
code:
1
2
3
4
5
<form enctype="multipart/form-data" action="upload.php" method="post">
    <input type="hidden" name="MAX_FILE_SIZE" value="10240000" />
    Choose a file to upload: <input name="userfile" type="file" />
    <input type="submit" value="Upload File" />
</form>


van het upload script
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$uploadDir = 'D:\Data\Upload/';
$uploadFile = $uploadDir . $_FILES['userfile']['name'];
print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadFile))
{
    print "File is valid, and was successfully uploaded. ";
    print "Here's some more debugging info:\n";
    print_r($_FILES);
}
else
{
    print "Possible file upload attack!  Here's some debugging info:\n";
    print_r($_FILES);
}
print "</pre>";
?>


Hieronder mijn aangepaste settings in php.ini
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
post_max_size = 80M
max_execution_time = 300
max_input_time = 600
memory_limit = 80M

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =

; Maximum allowed size for uploaded files.
upload_max_filesize = 20M


Ik heb gezocht, en gestoeid met deze settings maar ik kom er maar niet uit. Ik draai php 4.3.4 en draai dit op een Windows 2003 Enterprise server IIS 6.

Als iemand mij hiermee zou kunnen helpen zou dat geweldig zijn.

Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Kijk voor de zekerheid toch nog eventjes naar de output van phpinfo(); want het kan best zijn dat je het verkeerde bestandje hebt aangepast.
Ik heb ooit weleens phpdev op m'n laptop gehad en die had dus een hele lading php.ini bestanden, sommigen ook met andere namen en de gewone php.ini deed dus niets.
Het script werkt iig goed, ik heb het hier getest en doet het prima :)

Btw getest met linux 2.6.9, apache 1.3.33, PHP 4.3.9

[ Voor 8% gewijzigd door Wolfboy op 15-01-2005 02:16 ]

Blog [Stackoverflow] [LinkedIn]


Acties:
  • 0 Henk 'm!

  • Stewie!
  • Registratie: September 2001
  • Laatst online: 23:58

Stewie!

Keen must die!

Waaorm niet gewoon in de IIS de 2 mb limiet weghalen 8)7
Script kan je gewoon gebruiken hoor B)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik zie in phpinfo inderdaad dat mijn ingestelde waardes in php.ini niet hetzelfde zijn, iemand een idee hoe dit op te lossen?

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Heb je PHP als service geïnstalleerd? Herstart je PC dan eens, misschien dat dat helpt.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Server is meerdere malen gereboot.

Phpinfo.php zegt dat ie php.in gebruikt uit C:\Windows hier heb ik de .ini aangepast, server gereboot maar phpinfo geeft de wijzigingen gewoon niet door.

Acties:
  • 0 Henk 'm!

  • Stewie!
  • Registratie: September 2001
  • Laatst online: 23:58

Stewie!

Keen must die!

DaMorpheus schreef op zaterdag 15 januari 2005 @ 02:25:
Waaorm niet gewoon in de IIS de 2 mb limiet weghalen 8)7
Script kan je gewoon gebruiken hoor B)
Misschien mijn tip eens lezen? 8)7

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoe en waar denk je dat ik dat weg moet halen dan?

Acties:
  • 0 Henk 'm!

  • Stewie!
  • Registratie: September 2001
  • Laatst online: 23:58

Stewie!

Keen must die!

Verwijderd schreef op zaterdag 15 januari 2005 @ 02:55:
Hoe en waar denk je dat ik dat weg moet halen dan?
Kijk eens in het configuratiebestand van de IIS, daar staat een max(naamvariabele) met als waarde 2mb, die moet je gewoon wat hoger zetten en klaar ben je B)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Okee, wat is het configuratiebestand van IIS dan? Ik kan die niet vinden hoor, en in de manager ook niet.

Acties:
  • 0 Henk 'm!

  • Stewie!
  • Registratie: September 2001
  • Laatst online: 23:58

Stewie!

Keen must die!

Verwijderd schreef op zaterdag 15 januari 2005 @ 03:00:
Okee, wat is het configuratiebestand van IIS dan? Ik kan die niet vinden hoor, en in de manager ook niet.
Jawel hoor, makkelijk te vinden (eigenschappen van de server in IIS manager)
IIS 6.0 on Windows 2003 has a file named metabase.xml which resides in the folder C:\Windows\system32\inetsrv . By default, this file has this entry:
AspMaxRequestEntityAllowed = "204800"

This limits upload size to 204,800 bytes. You can change that to a large value (such as 2000000000 for 2 gigabytes) to allow your Windows 2003 server to accept large uploads.

If your server does not allow the Metabase Edit-While-Running feature, you will need to stop the IIS service before you can save the metabase.xml file.
Zoek meteen even voor MaxRequestEntityAllowed ;)

[ Voor 4% gewijzigd door Stewie! op 15-01-2005 03:06 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

"AspMaxRequestEntityAllowed"
Weet je zeker dat dat ook op PHP van toepassing is?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Heb het bestand aangepast, IIS herstart, maar nog steeds geen files boven de 2 mb mogen uppen.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op zaterdag 15 januari 2005 @ 02:51:
Server is meerdere malen gereboot.
Bedoel je met "server" IIS, of de hele computer? Als je IIS bedoelt: herstart de computer even.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Wilde gok, maar je hebt toch niet je extenties verborgen onder Windows, waardoor je een ini-file zit te saven en te editten als een .txt? Oftewel je zit steeds met een php.ini.txt te klooien.

Het MOET bijna wel zo zijn dat je met een ander bestand werkt als er gebruikt wordt door PHP zelf.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nee ik zit echt php.ini te editen, andere extensies zie ik ook gewoon. Lijkt mij ook raar ja en het lijkt inderdaad een ander bestand dat gedit wordt, maar ook als ik zoek naar php.ini komt ie alleen maar voor in C:\Windows en die edit ik dan ook.

[ Voor 56% gewijzigd door Verwijderd op 15-01-2005 03:19 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op zaterdag 15 januari 2005 @ 03:14:
Wilde gok, maar je hebt toch niet je extenties verborgen onder Windows, waardoor je een ini-file zit te saven en te editten als een .txt? Oftewel je zit steeds met een php.ini.txt te klooien.

Het MOET bijna wel zo zijn dat je met een ander bestand werkt als er gebruikt wordt door PHP zelf.
Ik denk nog steeds dat PHP als service draait, en het systeem een reboot nodig heeft om de nieuwe PHP.ini in te lezen. Of op zijn minst een herstart van de service.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
De computer (server) is inmiddels 3 keer herstart na iedere wijziging, maar nog zelfde probleem.

Acties:
  • 0 Henk 'm!

Verwijderd

Ok, heb je dan de notatie wel correct? 10M of 10000000 en niet 10m of 10 M. Als dit verkeerd staat gaat PHP naar de default setting "upload_max_filesize = 2097152".

[ Voor 5% gewijzigd door Verwijderd op 15-01-2005 03:25 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
heb hem op 20M staan.

In IIS staat die value nu inmiddels op 200000000 en niet meer op 204800, maar nog steeds geen verandering.

[ Voor 55% gewijzigd door Verwijderd op 15-01-2005 03:41 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Ik geef het op als ook dit niet het probleem is:
Is het geen time-out? Het uploaden duurt waarschijnlijk even. Je probeert een daaropvolgende PHP-pagina te openen, neem ik aan. Wellicht ziet de parser dit als een time-out terwijl hij aan het uploaden is. Geef eens een set_time_limit() in die pagina.

Oh, let ook op of je wel het juiste datatype POST in je form.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Problem solved.

Heb php opnieuw geinstalleerd en probleem was opgelost.

[ Voor 83% gewijzigd door Verwijderd op 15-01-2005 04:13 ]


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
DaMorpheus schreef op zaterdag 15 januari 2005 @ 02:59:
[...]

Kijk eens in het configuratiebestand van de IIS, daar staat een max(naamvariabele) met als waarde 2mb, die moet je gewoon wat hoger zetten en klaar ben je B)
Volgens mij discard PHP de file alsnog, als hij te groot is voor PHP's settings.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

Verwijderd

Is dit ook mogelijk onder IIS 5.0

vanaf MSDN (http://msdn.microsoft.com...cmetabasepropertylist.asp) haal ik dit
AspMaxRequestEntityAllowed

IIS 5.1 and earlier: This property is not available.
:?

Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

IIS 5.0 had volgens mij uit zichzelf geen goede upload mogelijkheid.
Daarvoor moest je een uitbreiding installeren en die bepaalde dan direct de maximum grootte.

Blog [Stackoverflow] [LinkedIn]


Acties:
  • 0 Henk 'm!

  • Stewie!
  • Registratie: September 2001
  • Laatst online: 23:58

Stewie!

Keen must die!

IIS 6 is wezenlijk anders dan de versies ervoor. Check de metabase voor alle opties :)
Overigens heb je ook deze waarde: MaxRequestEntityAllowed (dus zonder ASP ervoor)

Acties:
  • 0 Henk 'm!

Verwijderd

Weten jullie toevallig hoe deze 'grotere upload' uitbreiding heet voor IIS < 6?

Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Verwijderd schreef op zaterdag 15 januari 2005 @ 14:57:
Weten jullie toevallig hoe deze 'grotere upload' uitbreiding heet voor IIS < 6?
Is er niet :P
Ik kan het verkeerd hebben aangezien ik weinig met ASP doe maar volgens mij was er bij IIS5 helemaal geen upload mogelijkheden.
Daarom heb je ook modules die het wel toelaten: http://www.aspupload.com/
correct me if i'm wrong

[ Voor 4% gewijzigd door Wolfboy op 15-01-2005 15:04 ]

Blog [Stackoverflow] [LinkedIn]


Acties:
  • 0 Henk 'm!

Verwijderd

Wolfboy schreef op zaterdag 15 januari 2005 @ 15:03:
[...]
Is er niet :P
Ik kan het verkeerd hebben aangezien ik weinig met ASP doe maar volgens mij was er bij IIS5 helemaal geen upload mogelijkheden.
Daarom heb je ook modules die het wel toelaten: http://www.aspupload.com/
correct me if i'm wrong
Uploaden werkt gewoon, alleen heb ik dus het probleem van de TS.
Ik kan het altijd nog met ftp oplossen :-) erg omslachtig...

Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

offtopic:
Eerlijk gezegd begrijp ik ook niet waarom je IIS zou willen gebruiken met PHP, voor ASP is IIS de enige goede (en ja, er zijn meerdere ASP servers) maar voor PHP zou ik toch eerder voor Apache gaan.
Daar is alles eenvoudig in te stellen als de config bestanden maar weet te vinden.
Bij IIS kan je het ook eenvoudig vinden als je de knopjes er voor kan vinden, en dat is imho meestal lastiger met die vage namen.

Blog [Stackoverflow] [LinkedIn]


Acties:
  • 0 Henk 'm!

  • Stewie!
  • Registratie: September 2001
  • Laatst online: 23:58

Stewie!

Keen must die!

Wolfboy schreef op zaterdag 15 januari 2005 @ 23:34:
offtopic:
Eerlijk gezegd begrijp ik ook niet waarom je IIS zou willen gebruiken met PHP, voor ASP is IIS de enige goede (en ja, er zijn meerdere ASP servers) maar voor PHP zou ik toch eerder voor Apache gaan.
Daar is alles eenvoudig in te stellen als de config bestanden maar weet te vinden.
Bij IIS kan je het ook eenvoudig vinden als je de knopjes er voor kan vinden, en dat is imho meestal lastiger met die vage namen.
Werkelijk zo moeilijk?
IIS: metabase.xml en voor het gemak de grafische interface van IIS manager
Apache: alleen het cfg bestand, voor het gemak is er niks

Waarom Apache gebruiken terwijl je een zeer goede webserver al op W2k3 hebt staan?

Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Ik moet zeggen dat IIS6 best goed is ja, maar bij IIS5 vind ik de mogelijkheden vaak toch wat beperkt.
Tevens is het zo dat de meeste documentatie over websiteproblemen gericht is op Apache, bijvoorbeeld .htaccess en .htpasswd bestanden.
metabase.xml ken ik overigens niet, zal ook wel komen doordat ik over het algemeen alleen Linux en BSD op m'n servers draai :)
Maar in dat geval, niets gezegd over de instelmogelijkheden O-)

Alleen de benamingen vind ik helaas wat onduidelijk bij IIS, maar dat is misschien ook alleen maar gewenning.

[ Voor 13% gewijzigd door Wolfboy op 16-01-2005 01:00 ]

Blog [Stackoverflow] [LinkedIn]


Acties:
  • 0 Henk 'm!

  • vriesdude
  • Registratie: Februari 2002
  • Laatst online: 19-09 19:14
probeer eens via ini_set de upload-max-filesize aan te passen, misschien pakt ie een andere php.ini dan je denkt (uit de windows dir bijv)

/dev/null


Acties:
  • 0 Henk 'm!

Verwijderd

Nou ik moet zeggen ik ben wel teleurgesteld in de gezamelijke kennis van dit forum ;)

Hier staat een uitleg
http://www.radinks.com/upload/config.php
Als je al die waardes omhoog krikt en de timeouts op 0 zet.. kun je uploaden wat je wilt

Behalve bandbreedte verliezen
is het nog verstandig om te letten op memory_limit want daar kun je wel wat verkeerde dingen mee krijgen als er meerdere mensen tegelijk grote dingen uploaden.

:)

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op zondag 16 januari 2005 @ 02:11:
Nou ik moet zeggen ik ben wel teleurgesteld in de gezamelijke kennis van dit forum ;)
offtopic:
Waarom? De settings die jij aanhaalt zijn in dit topic (en in vele andere) stuk voor stuk allemaal al eens voorbij gekomen. Ik ben dus op mijn beurt teleurgesteld in jouw vermogen om het topic goed door te lezen. :P


edit:
Bovendien heeft topicstarter al gezegd dat zijn settings in PHP.ini niet goed overgenomen werden, en is het probleem zelfs al opgelost door een reïnstall van PHP. :P

[ Voor 19% gewijzigd door NMe op 16-01-2005 02:39 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1