IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Upload de fichier compatible vieux navigateurs


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 44
    Points : 46
    Points
    46
    Par défaut Upload de fichier compatible vieux navigateurs
    Bonjour.

    Je souhaite réaliser un formulaire html avec saisie de champs texte, et possibilité d'ajouter un ou plusieurs pièces jointes (une par une, pas de nécessité de gérer une multiple sélection), sans avoir à recharger la page (ce qui exclu la méthode classique en php (FORM, FILES..) et compatible vieux navigateurs. Je n'ai besoin que d'un post traitement simple (vérification de taille, format... ), pas besoin de générer de miniature, ni besoin de barre de progression pendant le téléversement.

    Mon besoin peut correspondre à ce qui est implémenté ici même dans ce forum, en mode édition de message avec "Gérer les pièces jointes", où le choix technique retenu a été d'ouvrir une nouvelle page indépendante du formulaire de saisie du texte, ce que j'essaye d'éviter d'un point de vue ergonomie.

    La méthode consistant à ajouter un input type file en complément du formulaire de saisie de champs texte, et y associer en ajax une fonction $(':button').on('click', function() semble proscrite car incompatible IE < 10 me semble-t-il.

    Quelle est la meilleure approche à retenir pour une saisie texte statique associée à un ajout dynamique de pièces attachées ?

    D'avance merci pour vos conseils.

    Cordialement.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Selon tes contraintes :
    • pas en PHP
    • pas en JavaScript/ Ajax
    • pas de rechargement de page
    • pas de page indépendante



    Réponse : "Abracadabra !" ?

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2018
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2018
    Messages : 537
    Points : 634
    Points
    634
    Par défaut
    Bonsoir

    sans avoir à recharger la page
    Envoyer l'utilisateur sur une autre page
    Comme ça tu pourras utiliser php sans recharger la page

    Avec les mises a jour "forcées" de microsoft windows il doit y avoir un nombre vraiment infime de personne qui sont encore sur internet explorer, alors IE < 10 n'en parlons pas !

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Citation Envoyé par mkdir Voir le message
    La méthode consistant à ajouter un input type file en complément du formulaire de saisie de champs texte, et y associer en ajax une fonction $(':button').on('click', function() semble proscrite car incompatible IE < 10 me semble-t-il.
    Je ne vois pas pourquoi : ce n'est pas comme si AJAX avait été inventé en 2018.
    Il suffit d'utiliser des composants compatibles avec ta cible. Exemple dans la doc jquery :
    Current Active Support (jquery 3.3.1)
    Desktop

    Chrome: (Current - 1) and Current
    Edge: (Current - 1) and Current
    Firefox: (Current - 1) and Current
    Internet Explorer: 9+
    Safari: (Current - 1) and Current
    Opera: Current

    Mobile

    Stock browser on Android 4.0+
    Safari on iOS 7+

    If you need to support older browsers like Internet Explorer 6-8, Opera 12.1x or Safari 5.1+, use jQuery 1.12.
    http://jquery.com/browser-support/

    Cela dit, j'ai cherché un peu des stats sur les navigateurs et d'après les chiffres que j'ai trouvé, IE8- couvre moins d'0.5% des navigateurs.
    StatCounter Global Stats - Browser, OS, Search Engine including Mobile Usage Share

  5. #5
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    sans avoir à recharger la page (ce qui exclu la méthode classique en php (FORM, FILES..)
    .....
    une saisie texte statique associée à un ajout dynamique de pièces attachées
    pour récupérer le fichier, y a pas a tortiller tu auras du php. maintenant, si je suit ta logique, il te faut une méthode d'ajout de 1 à n documents sans réellement savoir combien tu en envoi. du coup de mon côté la seule partie logique compatible "vieux" navigateur (par contre pourquoi te focaliser sur ie antérieur à 10?) serait de mettre un bouton "+" pour ajouter en javascript un input type file supplémentaire à chaque clic.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 44
    Points : 46
    Points
    46
    Par défaut
    Bonjour.

    Je me suis mal exprimé, je ne rejetais pas une solution en php, d'ailleurs c'est ce que j'ai utilisé pour résoudre mon problème.

    Ce que je ne voulais pas, si utilisation d'un FORM avec action gérée par php, c'était que la page entière soit rechargée suite à l'upload de fichier. (le script se rappelle lui même, ce qui provoque un rechargement de la page... Ce que je voulais désigner par "méthode classique php").
    En effet, le problème était de faire cohabiter deux formulaires :
    l'un "dynamique" qui permet de téléverser un fichier et puisse se rappeler autant que voulu sans recharger la totalité de la page qui contient un autre formulaire pour le texte.

    J'y suis arrivé de la façon suivante, peut-être pas conventionnelle :

    Une page php qui contient un formulaire avec un champ type textarea,
    qui inclue un iframe pour l'upload de fichier visant à joindre des pièces attachées (constitué d'un script php avec form / input type file, et se rappelle lui même suite à l'envoi du fichier).

    Ainsi, à chaque upload de fichier, seule l'iframe incluse se recharge... Et n'affecte pas la page principale qui contient un text area.
    Je peux ainsi rajouter autant de pièces attachées au nombre non déterminé à l'avance, sans avoir à recharger la page entière.
    Il faut ensuite gérer la hauteur du iframe qui au fil des téléversements va voir ses dimensions s'augmenter.

    Merci pour vos remarques.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FTP] Problème pour uploader un fichier
    Par Crazyblinkgirl dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 07/01/2008, 23h21
  2. Upload de fichier par XMLHTTP
    Par Immobilis dans le forum ASP
    Réponses: 6
    Dernier message: 21/01/2005, 18h02
  3. upload de fichier
    Par 120 dans le forum ASP
    Réponses: 16
    Dernier message: 21/06/2004, 13h07
  4. Upload de fichiers sur un ftp
    Par Crazyblinkgirl dans le forum ASP
    Réponses: 10
    Dernier message: 20/06/2004, 12h55
  5. Upload de fichiers
    Par GDVL dans le forum ASP
    Réponses: 4
    Dernier message: 03/06/2004, 13h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo