Je refais un petit up sur cette question après avoir fait un test rigolo. Je suis allé dans l'admin de mon site après avoir bien vidé tous mes caches, je me suis positionné sur la page de mon contenu sur l'onglet "documents" et à ce moment je me suis déconnecté du réseau ...
J'ai ensuite cliqué sur le bouton pour aller chercher mon fichier de 19mo et j'ai eu instantanément le message "File is too big (18.3MB). Max filesize: 8MB."
J'avais déjà signalé que l’instantanéité du message m'avait parue bizarre comme si c'était la page elle-même qui donnait cette limite et non pas réellement PHP ... J'ai donc ensuite regardé le code source de cette page et j'ai trouvé ceci, extrait:
Dropzone.prototype.defaultOptions = {
url: null,
method: "post",
withCredentials: false,
parallelUploads: 2,
uploadMultiple: false,
maxFilesize: 256,
paramName: "file",
createImageThumbnails: true,
maxThumbnailFilesize: 10,
thumbnailWidth: 100,
thumbnailHeight: 100,
maxFiles: null,
params: {},
clickable: true,
ignoreHiddenFiles: true,
acceptedFiles: null,
acceptedMimeTypes: null,
autoProcessQueue: true,
addRemoveLinks: false,
previewsContainer: null,
dictDefaultMessage: "Drop files here to upload",
dictFallbackMessage: "Your browser does not support drag'n'drop file uploads.",
dictFallbackText: "Please use the fallback form below to upload your files like in the olden days.",
dictFileTooBig: "File is too big ({{filesize}}MB). Max filesize: {{maxFilesize}}MB.",
On voit qu'il y a un
et plus bas un un
dictFileTooBig: "File is too big ({{filesize}}MB). Max filesize: {{maxFilesize}}MB.",
qui définit le message affiché que je vois ... sauf que c'est bizarre, il semblerait que "maxFilesize" soit positionné à "256" et pourtant moi j'ai un "8"....
Poursuivant mes recherches je trouve ligne 4724 (et 4938 pour les documents, même limite):
var imageDropzone = new Dropzone("#images-dropzone", {
dictDefaultMessage : $('.btn-browse').html(),
uploadMultiple: false,
maxFilesize: 8,
acceptedFiles: 'image/png, image/gif, image/jpeg'
});
Donc il semblerait bien que ma limite instantanée soit dans le code javascript et pas du tout liée à un paramètre PHP ... bon maintenant peut-être que je lis ça mal, mais c'est quand même troublant ... Il n'y aurait même pas de tentative d'upload, le javascript la stoppe direct.
Votre avis ?