Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

$_FILES[name] : Edition dans champ de saisie

1 réponse
Avatar
P. Gonogeu
Bonsoir,

Dans un formulaire, j'utilise un champ <input type='file' name='champ'>
pour saisir un "contenu externe". Ce contenu externe peut être spécifié
de deux façons par l'utilisateur :
- il peut déposer un fichier, en utilisant le bouton "parcourir" avant
de valider le formulaire
- il peut aussi écrire à la main dans le champ de saisie une URL.
Ce cas est détecté par une ['size'] de fichier nulle, alors que le
['name'] n'est pas vide.
Tout cela fonctionne bien. L'utilisateur peut même décharger le
fichier (s'il existe) en saisissant une chaine blanche, interprétée
par le script aval comme une demande d'effacement sans substitution.

Cependant, deux problèmes résistent :
- Toutes mes tentatives pour ré-afficher l'URL dans le champ de saisie
de l'"input file" sont sans effets. J'ai essayé d'utiliser "value=",
ou d'affecter le $_FILES['champ']['name'] juste avant la ligne
<input ...>.
- A la saisie, pour que l'URL entière (du type
"http://domaine/rep/fichier.htm) soit correctement disponible dans
$_FILES['champ']['name'], il faut remplacer les '/' par un autre
caractère lors de la saisie (j'indique '!'). Ce n'est pas très
confortable.

Vu l'encombrement déjà conséquent de l'inamovible bouton 'parcourir',
et la disponibilité du champ de saisie, je souhaite éviter de doubler
chaque <input file> par un <input text> afin d'éviter d'encombrer le
formulaire (11 champs <input file> déjà utilisés).

Auriez-vous essayé d'autres choses à ce propos, avec plus de succès ?
En vous remerciant pour toute indication.

Cordialement
Pierre

1 réponse

Avatar
Choub
J'ai eu le meme problème sans pouvoir le résoudre.
Toutefois, j'ai fini par ajouter derrière mon bouton "parcourir" un
texte "Défini: http://url.définie.dans/la/base"
Cela ne réponds pas a ton problème, mais celà revient presque à la
même chose.

Cordialement