[RESOLU] Type MIME CSV / Client Windows // Linux

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Type MIME CSV / Client Windows // Linux

Re: Type MIME CSV / Client Windows // Linux

par cyrilleb » 10 sept. 2020, 18:47

Ok merci pour les infos, je vais lire la doc de cette fonction
Thx ;)

Re: Type MIME CSV / Client Windows // Linux

par yann18 » 10 sept. 2020, 15:47

tu peux te servir de la fonction php mime_content_type("") pour valider le type de fichier

Re: Type MIME CSV / Client Windows // Linux

par yann18 » 10 sept. 2020, 15:38

bonjour,
les extensions suivantes supportent csv, xls, xlsx, ods

Code : Tout sélectionner

text/csv text/x-comma-separated-values text/x-csv application/vnd.ms-excel application/msexcel application/x-msexcel zz-application/zz-winassoc-xls application/vnd.openxmlformats-officedocument.spreadsheetml.sheet application/vnd.oasis.opendocument.spreadsheet
https://github.com/symfony/symfony/blob ... eTypes.php

Type MIME CSV / Client Windows // Linux

par cyrilleb » 09 sept. 2020, 19:10

Bonjour j'ai un formulaire qui upload un fichier csv

J'ai un test sur ce fichier pour vérifier qu'il corresponde bien au critère souhaité : type et taille

Pour le type j'ai ce tableau

Code : Tout sélectionner

$allowed = array("csv" => "text/csv"); $filename = $_FILES["formFichier"]["name"]; $filetype = $_FILES["formFichier"]["type"]; $filesize = $_FILES["formFichier"]["size"];
Et le test

Code : Tout sélectionner

if(in_array($filetype, $allowed)){ ....
J'utilise que Linux. ça passe nickel.
Par contre, les gens qui ont des windows m'ont rapporté que ça ne passait pas. J'ai récupéré un PC windows pour voir (c'était IE d'installé) et j'ai rajouté dans mon $allowed les entrées suivantes

Code : Tout sélectionner

$allowed = array("csv" => "text/csv", "csv1" => "text/plain", "csv2" => "application/vnd.ms-excel", "csv3" => "text/x-csv" );
ça passe nickel. Mais je n'avais pas testé sous Firefox (ce n'était pas mon PC et il n'était pas installé). Et donc sous firefox (windows) ça plante.

Je n'avais pas envisagé que le type MIME allait être aussi compliqué à gerer en fonction du SE et du client .

Je recherche donc l'entrée qu'il faudrait pour que ça passe avec tous les clients Unix (linux, freebsd) et windows.

Si vous aviez des idées, je suis preneur

D'avance merci

(PS le script tourne via nginx sur serveur yunohost debian 9, php-fpm 7.0)