Upload d'image avec affichage instantané de l'image.
Bonjour à tous,
est-ce possible d'uploader une image et de l'afficher dans la même page une fois que l'image a été uploadée.
Merci d'avance
Thierry
est-ce possible d'uploader une image et de l'afficher dans la même page une fois que l'image a été uploadée.
Merci d'avance
Thierry
tu upload comment ton image ? tu le fais via un formulaire html non ? avec un bouton submit. donc le formulaire est envoyé soit :
- à la même page que celle de l'affichage du formulaire, et donc tu affiche ton image fraichement uploadée au rechargement de la page, je ne saisis pas où est le problème.
- à une autre page de traitement, dans ce cas tu peux faire une redirection après le traîtement vers la page du formulaire.
ma réponse semble trop simple, j'ai peut-être mal compris la question, essaie d'être plus clair.
- à la même page que celle de l'affichage du formulaire, et donc tu affiche ton image fraichement uploadée au rechargement de la page, je ne saisis pas où est le problème.
- à une autre page de traitement, dans ce cas tu peux faire une redirection après le traîtement vers la page du formulaire.
ma réponse semble trop simple, j'ai peut-être mal compris la question, essaie d'être plus clair.
Bonjour Michel,
tout d'abord, merci pour ta réponse à mon message.
Donc, je veux simplement afficher l'image que j'ai uploadée dans la même page.
Voici mon code :
J'obtiens le message qui me dit que mon image a été uploadée avec succès mais l'image ne s'affiche pas. J'ai mon image avec une croix rouge.
En plus, quand j'essaie de rappeler la page, il me met :
Warning: Page has Expired The page you requested was created using information you submitted in a form. This page is no longer available. As a security precaution, Internet Explorer does not automatically resubmit your information for you.
To resubmit your information and view this Web page, click the Refresh button.
Que puis-je faire pour éviter ce problème.
Merci d'avance
Thierry
tout d'abord, merci pour ta réponse à mon message.
Donc, je veux simplement afficher l'image que j'ai uploadée dans la même page.
Voici mon code :
- <html>
- <head>
- <title>Upload</title>
- </head>
- <body>
- <table width="100%" border="0">
- <tr>
- <td>
- <form name="upload" method="post" action="" enctype="multipart/form-data">
- <input type="file" name="fichier_upload" id="fichier_upload"><br>
- <input type="submit" name="Submit" value="Uploader">
- </form>
- </td>
- </tr>
- <tr>
- <td>
- <?php
- if(!empty($_FILES['fichier_upload']['name']))
- {
- // on récupère les infos du fichier à uploader
- $fichier_temp = $_FILES['fichier_upload']['tmp_name'];
- $fichier_nom = $_FILES['fichier_upload']['name'];
- // on défini les dimensions et le type du fichier
- list($fichier_larg, $fichier_haut, $fichier_type, $fichier_attr)=getimagesize($fichier_temp);
- // infos de contrôle du fichier
- $fichier_poids_max = 500000;
- $fichier_h_max = 2448;
- $fichier_l_max = 3264;
- // dossier de destination
- $fichier_dossier = '../Documents/';
- // extension du fichier
- $fichier_ext = substr($fichier_nom,strrpos( $fichier_nom, '.')+1);
- // on renomme le fichier
- $fichier_date = date("ymdhis");
- $fichier_n_nom = $fichier_date.".".$fichier_ext;
- // on vérifie s'il y a bien un fichier à uploader
- if (!empty($fichier_temp) && is_uploaded_file($fichier_temp))
- {
- // on vérifie le poids du fichier
- if (filesize($fichier_temp)<$fichier_poids_max)
- {
- // types de fichiers autorises 1=gif / 2=jpg / 3=png
- if (($fichier_type===1) || ($fichier_type===2) || ($fichier_type===3))
- {
- // on vérifie si l'image n'est pas trop grande
- if (($fichier_larg<=$fichier_l_max) && ($fichier_haut<=$fichier_h_max))
- {
- // si le fichier est ok, on l'upload sur le serveur
- if (move_uploaded_file($fichier_temp, $fichier_dossier.$fichier_n_nom))
- {
- echo "Le fichier a été uploadé avec succès<br />";
- echo '<a href="'.$fichier_dossier.$fichier_n_nom.'"><img src="'.fichier_dossier.$fichier_n_nom.'"></a><br />';
- }
- else
- echo "Le fichier n'a pas pu être uploadé<br />";
- }
- else
- echo "Le fichier est trop grand<br />";
- }
- else
- echo "Le fichier n'a pas le bon format<br />";
- }
- else
- echo "Le fichier est trop lourd<br />";
- }
- else
- echo "Pas de fichier à uploader<br />";
- }
- ?>
- </td>
- </tr>
- </table>
- </body>
- </html>
J'obtiens le message qui me dit que mon image a été uploadée avec succès mais l'image ne s'affiche pas. J'ai mon image avec une croix rouge.
En plus, quand j'essaie de rappeler la page, il me met :
Warning: Page has Expired The page you requested was created using information you submitted in a form. This page is no longer available. As a security precaution, Internet Explorer does not automatically resubmit your information for you.
To resubmit your information and view this Web page, click the Refresh button.
Que puis-je faire pour éviter ce problème.
Merci d'avance
Thierry
salut,
est ce que echo fichier_dossier.$fichier_n_nom; retourne quelque chose de coéhérent avec ce que tu attend ?
$fichier_dossier = '../Documents/';
je suppose que ce script est dans un répertoire sous la racine (au minimum 1) ?
tu peut avoir le type mime du fichier avec le champ type du table dans $_FILES.
quelque info la
@+
est ce que echo fichier_dossier.$fichier_n_nom; retourne quelque chose de coéhérent avec ce que tu attend ?
$fichier_dossier = '../Documents/';
je suppose que ce script est dans un répertoire sous la racine (au minimum 1) ?
tu peut avoir le type mime du fichier avec le champ type du table dans $_FILES.
quelque info la
@+
Bonsoir Moogli,
merci également pour ta réponse.
Le répertoire dans lequel je place l'image est un répertoire faisant partie du répertoire racine.
En fait, quand je clique sur l'image dont j'en ai également fait un lien, il m'affiche bien l'image.
J'ai également ajouté le code suivant :
mais, malheureusement, l'image ne s'affiche toujours pas.
As-tu déjà eu l'occasion de développer une page qui "upload" un fichier et l'affiche dans la même source ?
Merci d'avance pour ton aide
Thierry
merci également pour ta réponse.
Le répertoire dans lequel je place l'image est un répertoire faisant partie du répertoire racine.
En fait, quand je clique sur l'image dont j'en ai également fait un lien, il m'affiche bien l'image.
J'ai également ajouté le code suivant :
- <input type="image" border="0" name="imageField" src="<? print fichier_dossier.$fichier_n_nom; ?>">
As-tu déjà eu l'occasion de développer une page qui "upload" un fichier et l'affiche dans la même source ?
Merci d'avance pour ton aide
Thierry
As-tu déjà eu l'occasion de développer une page qui "upload" un fichier et l'affiche dans la même source ?
A tu lu le lien en bas que ma réponse ?
Si oui tu pourra constater que c'est le cas :)
est ce que tu a le bon chemin du fichier dans le src ?
est ce que l'on peut voir se script "en ligne" ?
(je n'est pas de quoi tester ton code sous main ;) )
ps utilise <?php plutot que <? afin de na pas être confronter à un problème sur une version future de php !
@+
@+
# echo '<a href="'.$fichier_dossier.$fichier_n_nom.'"><img src="'.fichier_dossier.$fichier_n_nom.'"></a><br />';
il manque un $
il manque un $
Bonsoir Moogli,
merci de nouveau pour ton aide.
J'ai bien le lien qui s'affiche dans la barre des tâches et j'ai également le bon chemin d'accès dans src.
Par contre, je me demande si c'est possible de faire cela en php. Ne faudrait-il pas plutôt utiliser AJAX ?
Par contre, je n'ai pas le lien dont tu me parles dans ton message.
Merci d'avance
Thierry
merci de nouveau pour ton aide.
J'ai bien le lien qui s'affiche dans la barre des tâches et j'ai également le bon chemin d'accès dans src.
Par contre, je me demande si c'est possible de faire cela en php. Ne faudrait-il pas plutôt utiliser AJAX ?
Par contre, je n'ai pas le lien dont tu me parles dans ton message.
Merci d'avance
Thierry
Bonsoir Michel,
merci énormément pour ton aide.
C'était une bétise mais le principal, c'est que ça marche.
Encore merci à toi et à Moogli pour votre aide.
Thierry
merci énormément pour ton aide.
C'était une bétise mais le principal, c'est que ça marche.
Encore merci à toi et à Moogli pour votre aide.
Thierry
Accès rapide :
Remonter 

