cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 2 oct. 2007 à 13:52
Bonjour,
pourrais-tu expliciter un peu ta demande ?
° à l'ouverture ==> onload ( par exemple, autres chemin possibles )
° mais le reste, je ne comprend pas :
>> activer un bouton
ça veut dire quoi "activer" ?
>> bouton (Post)
ça non plus, "bouton Post", je ne comprend pas
cs_christo16
Messages postés17Date d'inscriptionmardi 22 juin 2004StatutMembreDernière intervention16 octobre 2008 2 oct. 2007 à 17:06
Merci de ton aide,
C'est une page "Upload"
On choisis le fichier que l'on veux uploader sur mon site http, puis on l'envoi.
J'aimerai envoyer le fichier automatiquement dès l'ouverture de cette page.
Donc essayer de trouver un moyen pour clicker sur le bonton automatiquement a l'ouverture de la page.
Bien sur il faudra modifier le textbox et mettre le chemain du fichier a uploader.
Qui ne dois pas être compliquer.
Source de la page upload:
<?php
/* check for and loop through uploaded files */
foreach ($_FILES as $name => $info) {
/* chekc the file has a valid name */
if (($info['name'] != 'ht.access' &&
substr($info['name'], 0,1) != '.' &&
$info['name'] != 'allowed_files')) {
/* attempt to move the file to the uploaded_files directory */
if (@move_uploaded_file($info['tmp_name'], "uploaded_files/files/{$info['name']}")) {
/* get the contenst of the array of files */
$file_arrays = @unserialize(@file_get_contents('uploaded_files/allowed_files'));
/* if there are more already 5 files, remove the oldest item fomr the array
* and delete it
*/
if (count(@$file_arrays['files']) == 5) {
$name = array_shift($file_arrays['files']);
/* add the new item to the arrays */
$file_arrays['files'][] = $info['name'];
$file_arrays['types'][$info['name']] = $info['type'];
/* serialize the array and write it back to the file */
if ($fhwnd = @fopen('uploaded_files/allowed_files', 'wb+')) {
fwrite($fhwnd, serialize($file_arrays));
fclose($fhwnd);
}
}
}
}
?>
<html>
<head>
<title>Form Post Dump</title>
</head>
<?php if ($_POST): ?>
You submitted the following POST variables with the following names:
<?php foreach($_POST as $name => $var) : ?>
<li><?php echo(htmlspecialchars($name)) ?> = <?php echo(htmlspecialchars($var)) ?></li>
<?php endforeach; ?>
<?php endif; ?>
<?php if ($_GET): ?>
You submitted the following fariables with the query string:
<?php foreach($_GET as $name => $var) : ?>
<li><?php echo(htmlspecialchars($name)) ?> = <?php echo(htmlspecialchars($var)) ?></li>
<?php endforeach; ?>
<?php endif; ?>
<?php if ($_FILES): ?>
You submitted the following FILES:
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 3 oct. 2007 à 10:44
>>j'aimerai envoyer le fichier automatiquement dès l'ouverture de cette page.
en javascript "basique" : impossible. pour d'obscures raisons de sécurité (? )
on pourrait, "genre FTP" ( j'ai un exemple ici ).
je ne dirais pas exclusif IE, mais comme on devra utiliser des ActiveX...
ou alors, un autre langage.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 3 oct. 2007 à 12:07
si tu es sous windows, tu t'en sers en permanence des ActiveX,
et pas seulement en javascript ! c'est la base même de windows.
je ne fais que proposer une solution et dire qu'on peut faire, c'est tout.
<hr /> Cordialement Bul [mon Site] [M'écrire]
<hr />
XtremDuke
Messages postés626Date d'inscriptionsamedi 28 septembre 2002StatutMembreDernière intervention18 mai 20094 3 oct. 2007 à 13:07
Je te taquinne bultez.
Cependant, et à l'heure actuelle, proposer un activeX en solution me semble anti-déontologique au point de vue accessibilité (surtout si le site en question a un but professionel).
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 3 oct. 2007 à 13:13
allez... disons que je suis d'accord avec cette déontologie ;o)
il faut donc faire çà dans un autre langage ;o(
et, finalement, dans cet autre langage, on fait quand même !
<hr /> Cordialement Bul [mon Site] [M'écrire]
<hr />
cs_christo16
Messages postés17Date d'inscriptionmardi 22 juin 2004StatutMembreDernière intervention16 octobre 2008 3 oct. 2007 à 13:17
Pour changer le texte d'un bouton de type file, on est obligé de "ruser" car il n'y a pas d'autres moyens.
Voici le script :
<script type="text/javascript">
function getfile(){
document.getElementById('hiddenfile').click();
document.getElementById('selectedfile').value=document.getElementById('hiddenfile').value
}
</script>
Et le corps de votre page:
En fait, ce que l'on aperçoit sur la page ressemble à un champ de type File, mais en réalité, il s'agit d'un bouton et d'un champ de type texte. Ainsi, grâce à la fonction getfile(), on simule le clic sur le champ File que l'on a caché...
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 3 oct. 2007 à 13:31
déjà : tu ne pourras pas traiter ça "normalement" coté serveur.
en php par exemple, seul $_FILES est gérable directement,
c'est obligatoirement un qui en est à l'origine
ou alors, faire du "ftp" coté serveur ( c'est possible en php )
<hr /> Cordialement Bul [mon Site] [M'écrire]
<hr />
XtremDuke
Messages postés626Date d'inscriptionsamedi 28 septembre 2002StatutMembreDernière intervention18 mai 20094 3 oct. 2007 à 13:32
Ce n'est pas une question de langage, mais plutot de fonctionnalité.
Se genre de comportement n'est pas prévu. Inutile donc de trouver une alternative, on tomberai alors dans du bidouillage grossier...
C'est comme par exemple, les PNG sous ie<7, certaines personnes usent et abusent des techniques de hack. Je trouve celà stupide.
L'époque du html 4 (1999) est révolue. Il est grand temp de se soumettre aux normes en rigueurs , de suivre la sémantique Web pour faire du vrai Web (OpenWeb et Pompage.net seront vos alliés).
Bon j'arrete, je suis entrain de m'etaller sur un sujet qui fache...
Pour répondre à ta question christo16, je suis pas sûr que ca fontionne (celà dit je n'ai pas essayé).