Appeler la boîte Ouvrir de Windows

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 : Appeler la boîte Ouvrir de Windows

Re: Appeler la boîte Ouvrir de Windows

par Bosyphe » 06 juil. 2011, 16:57

Effectivement...

J'approfondirai la question ultérieurement.

Re: Appeler la boîte Ouvrir de Windows

par xTG » 06 juil. 2011, 15:34

Styliser ce champ est assez compliqué car il est propre à chaque navigateur...
Un peu de lecture pour t'en rendre compte : http://www.quirksmode.org/dom/inputfile.html

Re: Appeler la boîte Ouvrir de Windows

par Bosyphe » 06 juil. 2011, 14:48

Merci de vos réponses et pardon pour le retard avec lequel arrive ma propre réponse (j'étais pris sur d'autres points de programmation, puis j'ai voulu expérimenter les techniques proposées).

Effectivement, pathinfo est bien pratique.

Petites questions complémentaires :

1) Par défaut, le bouton appelant la fenêtre Ouvrir de Windows est un bouton texte ayant pour libellé Parcourir. Comment puis-je afficher une image à la place du bouton par défaut, définir un autre texte ou styler ce bouton ?

2) Comment faire pour dimensionner ou styler le champ de saisie du fichier (le premier input) ? J'ai essayé d'écrire
<p><input type="file" name="file_name" style="width:250px" /></p>
mais ça ne marche pas.

Merci par avance

Re: Appeler la boîte Ouvrir de Windows

par VaN » 06 juil. 2011, 10:59

$extension = substr($_FILES['fichier']['tmp_name'], strrpos($_FILES['fichier']['tmp_name'], ".") + 1, strlen($_FILES['fichier']['tmp_name']));
utilise pathinfo ...
Je connaissais pas, merci : )

Re: Appeler la boîte Ouvrir de Windows

par stealth35 » 05 juil. 2011, 18:03

$extension = substr($_FILES['fichier']['tmp_name'], strrpos($_FILES['fichier']['tmp_name'], ".") + 1, strlen($_FILES['fichier']['tmp_name']));
utilise pathinfo ...

Re: Appeler la boîte Ouvrir de Windows

par VaN » 05 juil. 2011, 17:10

pour le formulaire :
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="fichier" />
<input type="submit" name="btn-submit" value="Envoyer" />
</form>
Ensuite, lorsque tu traite les données postées, en PHP (méthode rapide, on vérifie l'extension du fichier, mais le plus propre serait de vérifier le type mime) :
<?php
$extension = substr($_FILES['fichier']['tmp_name'], strrpos($_FILES['fichier']['tmp_name'], ".") + 1, strlen($_FILES['fichier']['tmp_name']));

if($extension == 'htm' || $extension == 'html') {
// Ok, on traite le fichier
}
else {
// L'extension  n'est pas correcte
}
?>

Re: Appeler la boîte Ouvrir de Windows

par Bosyphe » 05 juil. 2011, 16:13

Merci de ta réponse

Je crains cependant que je n'aies pas vraiment le niveau requis pour la comprendre.

Peux-tu m'expliquer un peu s'il te plaît ? :)

Re: Appeler la boîte Ouvrir de Windows

par xTG » 05 juil. 2011, 15:47

Un input de type file ? (HTML)
Et ensuite tu regardes le type MIME du fichier pour vérifier que c'est bien ce que tu cherches.
Ou plus basiquement tu split le nom du fichier pour extraire l'extension.

Appeler la boîte Ouvrir de Windows

par Bosyphe » 05 juil. 2011, 14:03

Bonjour

Pourriez-vous s'il vous plaît m'indiquer comment je peux ouvrir la boîte de dialogue Ouvrir de Windows et comment je peux récupérer le fichier sélectionné ? (J'ai besoin de pouvoir sélectionner le fichier html qui sera traité par mon programme php. Il me faut donc pouvoir limiter la boîte de dialogue aux seuls fichiers html ou htm. Pour l'instant, je place le chemin du fichier dans l'instruction file_get_contents mais ce n'est pas vraiment une solution satisfaisante pour les utilisateurs du programme.)

Merci grandement d'avance