DutchJoomla maakt nu intensief gebruik van JavaScript, Ajax en Caching om de templates over de sites te stroomlijnen. Toont de onderstaande template niet goed? Meldt dit ons dan door hier te klikken.

Grote bestanden uploaden

Uit DutchJoomla! Wiki

Ga naar: navigatie, zoeken

De meeste webservers zullen het uploaden van grote bestanden (>2MB) standaard niet toelaten. Hier laten we je zien hoe je eventueel je PHP instellingen kan configureren om grote bestanden te kunnen uploaden.


De Theorie

php.ini

De php.ini file bevat alle configuratie instellingen voor de server. Soms (meestal niet) is het mogelijk om deze instellingen te overschrijven middels een .htaccess bestand.

We concentreren ons eerst even op de php.ini. Dit bestand bevat onder andere de volgende instellingen die we nodig hebben om aan te passen:

   * file_uploads
   * upload_max_filesize
   * max_input_time
   * memory_limit
   * max_execution_time
   * post_max_size

De eerste optie zorgt ervoor of bestanden überhaupt geupload kunnen worden (on/off switch). De overige instellingen staan hieronder.


upload_max_filesize and post_max_size

Bestanden worden gewoonlijk gepost door de webserver in een format bekend als 'multipart/form-data'. Het bovenlimiet van de data die het script kan accepteren wordt bepaald door de `post_max_size`. Ideaal gezien zou deze waarde groter moeten zijn dan de waarde die je insteld voor `upload_max_filesize`.

Het is van belang te realizeren dat `upload_max_filesize` de som is van alle bestanden die je in 1 keer upload. `post_max_size` is de upload_max_filesize + de som van de lengte van alle andere velden in het formulier + mime headers die de encoder eventueel bevat. Aangezien deze velden over het algemeen erg klein zijn kun je de `upload max size` de `post max size` laten benaderen.

Volgens de PHP documentatie kun je een MAX_UPLOAD_LIMIT in je HTML instellen om een limiet voor de browser in te stellen. Onze ervaring is echter dat browsers deze instellingen compleet negeren...


memory_limit

Wanneer de PHP engine een binnenkomende POST gaat behandelen moet het een deel van de binnenkomende data in het geheugen bewaren. Deze instellingen hebben alleen effect als je gebruik maakt van de --enable-memory-limit optie in de configuratie. De memory limit te hoog instellen can erg gevaarlijk zijn omdat al het beschikbare geheugen gebruikt zal worden voor uploads waarvan er wellicht meerdere tegelijk plaatsvinden. Andere afzonderlijke scripts die veel geheugen gebruiken kunnen hierdoor aangetast worden waardoor de hele server instabiel kan worden.


max_execution_time and max_input_time

Deze instellingen definiëren de maximale tijd van het script en de tijd dat een script en de input tijd die een script kan accepteren. Als vele MB's geupload gaan worden moet de max_input_time redelijk hoog staan. Je kan de instellingen in de ini file voor de max_input_time overschrijven door de set_time_limit() functie op te roepen in je scripts.


Speciale Notities


Apache Instellingen

De apache webserver heeft een LimitRequestBody configuratie directive die de omvang van alle POST data beperkt, ongeacht de we scriptingtaal die gebruikt wordt. Sommige RPM installaties zetten de limit request body op 512 Kb. Dit moet aangepast worden naar een grotere waarden of helemaal verwijderd worden.

Bovenstaande info hebben we met toestemming overgenomen en vertaald van MamboDOCMan.


De Praktijk

Aanpassen/Aanmaken php.ini:

Pas de volgende waarden aan in je php.ini. Heb je sharedhosting dan heb je meestal niet niet de mogelijk om het bestand php.ini aan te passen. Bij sommige webhosters kun je vaak ook gewoon een php.ini aanmaken (gewoon een tekstbestand dat je php.ini noemt) en daarin plak je dan de volgende regels:

register_globals = On register_argc_argv = On memory_limit = 10M track_errors = On upload_max_filesize = 10M

Vraag aan je hosting provider waar je dit bestandje kan plaatsen.


Aanpassen .htaccess:

Het bestandje .htaccess kun je vinden in je Joomla! installatiemap. Het kan zijn dat het daar nog staat als htaccess.txt, dan moet je het nog even hernoemen. Open de .htaccess en voeg dit aan het begin toe: <IfModule mod_php4.c> upload_max_filesize 20M php_value post_max_size 20M </IfModule>

Tegenwoordig zullen de meeste webhosters NIET toe laten dat je door middel van een .htaccess bestand de server settings kan veranderen. Als je aanpassingen nodig heeft en het lukt je niet met de hier boven genoemde optie dan kan je het beste even contact opnemen met je webhoster.

Steun DutchJoomla

Geen enkel Open Source pakket kan zonder zijn community, dus wij kunnen ook niet zonder jou! Je kunt ons op vele verschillende manieren eenvoudig steunen en zo iets terug doen voor de community. Benieuwd hoe? Klik dan hier.

Adverteren op DutchJoomla

Je eigen bedrijf en/of diensten promoten op DutchJoomla? Dat kan met het voordelige DutchJoomla Advertentieprogramma. Profiteer van het aanbod en de vele bezoekers van DutchJoomla om jezelf te promoten! Klik hier voor meer info.
Copyright © 2004 - 2008 DutchJoomla! Alle rechten voorbehouden. Disclaimer
Joomla! is een geregistreerd merk van Open Source Matters, Inc.