[PHP] Max. bestandsgrootte uploadscript

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • edwin90
  • Registratie: November 2011
  • Nu online
Tweakers,

Momenteel ben ik bijna klaar met het maken van een website. Deze website bevat een eigen gemaakt CMS. Via één van de onderdelen is het mogelijk om zelf opgenomen mp3-bestanden te uploaden.
Het gaat dus niet om auteursrechten schending of andere illegale praktijken, het zijn enkel eigen gemaakte mp3-bestanden. .

Daar ik toen ik twee jaar geleden begon nog niet heel veel ervaring heb met PHP, is het bouwen van deze website (in mijn ogen) aardig gelukt. Nu heb ik met één belangrijk onderdeel geen rekening gehouden: de maximale uploadgrootte via een php-script. Hier ben ik pas onlangs mee geconfronteerd (op mijn localhost stond deze hoger dan op mijn testserver).

Heeft er iemand aanbevelingen om dit probleem op te lossen? Uiteraard vraag ik niet om complete php scripts, maar oplossingen om dit probleem te 'omzeilen' of andere methoden van uploaden hoor ik graag.

Groet,
Edwin

Acties:
  • 0 Henk 'm!

  • posttoast
  • Registratie: April 2000
  • Laatst online: 16:17
Als er op de server een maximale grootte staat ingesteld, en jij hebt geen mogelijkheid dat aan te passen dan heb je wat dat betreft dikke pech.

Een workaround zou zijn om de beheerders de MP3's via FTP te laten uploaden.

omniscale.nl


Acties:
  • 0 Henk 'm!

  • spleethoven
  • Registratie: Oktober 2010
  • Laatst online: 24-01-2024
in php.ini:

upload_max_filesize = 10M
post_max_size = 10M

in .htaccess:

php_value upload_max_filesize 10M
php_value post_max_size 10M

Dit zijn ook de eerste oplossingen die in google tevoorschijn komen.

Acties:
  • 0 Henk 'm!

  • edwin90
  • Registratie: November 2011
  • Nu online
posttoast schreef op dinsdag 26 maart 2013 @ 16:11:
Als er op de server een maximale grootte staat ingesteld, en jij hebt geen mogelijkheid dat aan te passen dan heb je wat dat betreft dikke pech.

Een workaround zou zijn om de beheerders de MP3's via FTP te laten uploaden.
Dat klopt inderdaad en ik begreep dat dat niet aan te passen is ivm veiligheids risico's.
FTP is niet mogelijk, daar er ook automatisch gegevens gekoppeld aan het bestand in de database geplaatst moet worden.

Acties:
  • 0 Henk 'm!

  • mbarie
  • Registratie: Mei 2011
  • Laatst online: 04-08-2021
Wat spleethoven zegt. De php.ini settings zijn soms ook aan te passen middels ini_set();

Verder hebben sommige browsers inmiddels de mogelijkheid om bestanden in parts te uploaden, zodoende omzeil je het filesize limiet.

Dit script maakt daar o.a. gebruik van meen ik:
http://blueimp.github.com/jQuery-File-Upload/

[ Voor 18% gewijzigd door mbarie op 26-03-2013 16:17 ]

Storyteller @ soundcloud


Acties:
  • 0 Henk 'm!

  • edwin90
  • Registratie: November 2011
  • Nu online
spleethoven schreef op dinsdag 26 maart 2013 @ 16:12:
in php.ini:

upload_max_filesize = 10M
post_max_size = 10M

in .htaccess:

php_value upload_max_filesize 10M
php_value post_max_size 10M

Dit zijn ook de eerste oplossingen die in google tevoorschijn komen.
I know, maar php.ini mag je bij de meeste providers niet zelf aanpassen ;) .

Acties:
  • 0 Henk 'm!

  • edwin90
  • Registratie: November 2011
  • Nu online
mbarie schreef op dinsdag 26 maart 2013 @ 16:16:
Wat spleethoven zegt. De php.ini settings zijn soms ook aan te passen middels ini_set();

Verder hebben sommige browsers inmiddels de mogelijkheid om bestanden in parts te uploaden, zodoende omzeil je het filesize limiet.
Zal vanavond eens proberen of ini_set() iets uit gaat halen, bedankt!

Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
edwin90 schreef op dinsdag 26 maart 2013 @ 16:16:
[...]


I know, maar php.ini mag je bij de meeste providers niet zelf aanpassen ;) .
Maar mag het bij jouw provider?

Let er ook op dat de instelling voor memory_limit groter is dan post_max_size. En post_max_size moet vervolgens groter zijn dan upload_max_filesize.

Acties:
  • 0 Henk 'm!

  • HMS
  • Registratie: Januari 2004
  • Laatst online: 21:06

HMS

Chunked uploading werkt ook niet? (Ben er niet heel bekend mee, laat staan in PHP :P)

~edit:

Heb je hier iets aan: http://www.sitepoint.com/upload-large-files-in-php/ ?

[ Voor 68% gewijzigd door HMS op 26-03-2013 19:33 ]


Acties:
  • 0 Henk 'm!

  • edwin90
  • Registratie: November 2011
  • Nu online
HuHu schreef op dinsdag 26 maart 2013 @ 16:50:
[...]

Maar mag het bij jouw provider?

Let er ook op dat de instelling voor memory_limit groter is dan post_max_size. En post_max_size moet vervolgens groter zijn dan upload_max_filesize.
Hostingprovider van mijn eigen website, waar ik deze website op test, staat het in ieder geval niet toe. Eerst had ik de gedachte op zoek te gaan naar een provider die het wel toe staat. Maar dat lijkt me de omgekeerde wereld, ik kan het probleem beter eerst oplossen. Voorkomen is immers beter dan genezen ;).

Acties:
  • 0 Henk 'm!

  • edwin90
  • Registratie: November 2011
  • Nu online
HMS schreef op dinsdag 26 maart 2013 @ 19:31:
Chunked uploading werkt ook niet? (Ben er niet heel bekend mee, laat staan in PHP :P)

~edit:

Heb je hier iets aan: http://www.sitepoint.com/upload-large-files-in-php/ ?
Chunked uploading heb ik wel aan gedacht, aangezien ik dat ook voor de foto's gebruik. Maar volgens mij wordt dat in dit geval lastig omdat het mp3 bestanden zijn.

Acties:
  • 0 Henk 'm!

  • Saven
  • Registratie: December 2006
  • Laatst online: 04-07 11:33

Saven

Administrator

Weet niet of het werkt, maar misschien werkt dit als je ini_set() niet mag aanroepen?
http://unixtitan.net/main..._set-disabled-workaround/

Overigens zou je de host kunnen contacteren over dit probleem, in principe doet ini_set() niks desastreus aan de server of installatie, aangezien hij alleen die waarde verandert voor de huidige request

Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Saven schreef op dinsdag 26 maart 2013 @ 22:47:
Weet niet of het werkt, maar misschien werkt dit als je ini_set() niet mag aanroepen?
http://unixtitan.net/main..._set-disabled-workaround/
Ik denk dat je je moet afvragen of je dit soort dingen wel buiten je host om wilt aanpassen, wellicht is het een domme hoster die gewoon de defaults heeft laten maar wellicht is het ook bewust zo ingesteld.
Overigens zou je de host kunnen contacteren over dit probleem, in principe doet ini_set() niks desastreus aan de server of installatie, aangezien hij alleen die waarde verandert voor de huidige request
Mits de hoster verstand heeft, kan dit dus wel desastreuze gevolgen hebben. Als je 10 klanten hebt die dmv dit soort dingen allemaal 100Mb bestanden gaan uploaden en de tmp-dir is maar 990Mb dan gaat er iets omvallen (naast dat je volgens mij ook 1 Gig geheugen pakt bij 10 klanten waar wellicht de server helemaal niet op berekend is)

Alles kost resources en resources zijn eindig. En op het moment dat de resources opraken dan raak je andere klanten (en je eigen website) in de performance.
Pagina: 1